【问题标题】:How to run TC in headless (Poltergeist) mode using Ruby, Rspec, Capybara and Selenium?如何使用 Ruby、Rspec、Capybara 和 Selenium 在无头(Poltergeist)模式下运行 TC?
【发布时间】:2016-05-29 12:45:57
【问题描述】:

问题是我尝试了很多变体来声明 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:in `require': 无法加载此类文件 -- support/controllers_helpers (LoadError)。

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

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

【问题讨论】:

    标签: ruby selenium capybara


    【解决方案1】:

    您不能使用 poltergeist 驱动程序并使用 selenium 方法 -- 特定于 selenium 的方法仅在使用 selenium 驱动程序时可用。

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

    我认为您确实需要仔细考虑您要做什么,然后更详细地向我们解释。

    【讨论】:

      猜你喜欢
      • 2018-03-16
      • 1970-01-01
      • 2017-02-18
      • 2023-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-03
      相关资源
      最近更新 更多