如何使用Ruby,Rspec,Capybara和Selenium在无头(Poltergeist)模式下运行TC?

时间:2016-05-29 12:45:57

标签: ruby selenium capybara

问题在于我尝试了很多变种来宣布Capybara Poltergeist的驱动程序。但总是遇到一些问题。

例如,当我声明驱动程序如下:

Capybara::Poltergeist::Driver.new({
        js_errors: true,
        inspector: true,
        phantomjs_options: ['--load-images=no', '--ignore-ssl-errors=yes'],
        timeout: 120
    })

TC在FF浏览器中运行而不是使用poltergeist((

或者,如果我将驱动程序声明如下:

Capybara.default_driver = :poltergeist
Capybara.current_driver = :poltergeist
Capybara.javascript_driver = :poltergeist

我看到这样的错误: C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:121:在`require':无法加载这样的文件 - support / controllers_helpers(LoadError)。

另外我需要使用Selenium和Capybara方法,因此我声明了以下变量以便能够使用selenium方法: @driver = Capybara.current_session.driver.browser

所以,问题是如何使用Selenium方法(我的@driver变量)声明Capybara无头驱动程序(如果可能的话,有调试机会)? enter code here

1 个答案:

答案 0 :(得分:0)

您无法使用poltergeist驱动程序并使用selenium方法 - 仅在使用selenium驱动程序时才能使用硒特定方法。

关于声明驱动程序的问题:声明/配置驱动程序(使用Capybara.register_driver)只是命名驱动程序 - 然后你仍然必须指定使用它(通过你在register_driver中指定的名称)和Capybara.default_driver, current_driver或javascript_driver - 具体取决于您正在设置的内容。

我认为你真的需要仔细考虑你想要做的事情,然后更详细地向我们解释。