如果我定义了Capybara Poltergeist驱动程序(适用于Ruby),如何访问Selenium方法

时间:2016-05-29 16:42:02

标签: ruby selenium rspec capybara

我使用" Capybara.current_session.driver"我定义驱动程序时访问Selenium方法如下:

Capybara.default_driver = :selenium

但是当我在无头模式下运行我的TC(Capybara + Selenium)时,由于未定义的Selenium方法,我发现TC失败了。 所以问题是如果我定义了Capybara Poltergeist驱动程序如何访问Selenium方法:

require 'capybara/poltergeist'
    Capybara.default_driver = :poltergeist
    Capybara.javascript_driver = :poltergeist
    Capybara.current_driver = :poltergeist

    Capybara.register_driver :poltergeist do |app|
      Capybara::Poltergeist::Driver.new(app,
      :js_errors => false,
      :phantomjs_options => ['--ignore-ssl-errors=yes'],
      :phantomjs_logger => File.open("F:/Programming/VLoop/Project/28.05.2016/webapp/log/test_phantomjs.log", 'w+')
      )
    end

1 个答案:

答案 0 :(得分:0)

当您使用poltergeist驱动程序时,您无法使用selenium方法,它们仅在您的会话使用selenium驱动程序时可用。这就是为什么不建议直接在驱动程序上调用特定方法,而是使用Capybara提供的API,以便您的测试与多个驱动程序保持兼容。您尝试使用哪些硒特定方法?