【问题标题】:Check if JS box exists with RSpec + capybara-webkit使用 RSpec + capybara-webkit 检查 JS 框是否存在
【发布时间】:2016-02-07 19:14:39
【问题描述】:

我正在使用 RSpec + capybara,并将 capybara-webkit 作为驱动程序。 单击按钮后,我必须检查页面中是否存在 JS 框,但没有结果。 如果我使用 selenium 作为驱动程序,测试通过,但我需要使用 capybara-webkit。

我正在使用

expect(page).to have_selector(#js_window)

我的配置是

Capybara.run_server = false
Capybara.default_selector = :css
Capybara.default_max_wait_time = 1
Capybara.javascript_driver = :webkit

RSpec.configure do |config|
 config.include Capybara::DSL
end  

【问题讨论】:

  • 如果您添加更多有关您收到的驱动程序配置、测试和错误消息的详细信息会有所帮助
  • 好的 - 因为你有 run_server = false,这是你试图运行的远程应用程序。您是否在 capybara-webkit 中打开了黑/白名单?如果是,您是否已将远程应用程序添加到 capybara-webkit 配置中的白名单中? github.com/thoughtbot/capybara-webkit#configuration
  • 是的,我也尝试过config.allow_unknown_urls,但没有结果。我收到错误“预期 #has_selector("#habla_topbar_div") 返回 true,结果为 false”,但是当我使用 selenium 作为驱动程序时,它可以工作。
  • 由于它在 selenium 中工作,这听起来像是 capybara-WebKit 的配置问题,但您还没有发布。您是否尝试将驱动程序设置为 :webkit_debug 以查看是否提供任何提示?
  • 如果您正在使用 block_unknown_urls 并且允许页面呈现所需的所有 url(或者只是允许所有未知 url 而不是阻止它们)那么我没有想法 - 尝试设置驱动程序到 :webkit_debug 而不是 :webkit ,看看它是否提供了关于发生了什么的任何线索

标签: javascript ruby-on-rails rspec capybara capybara-webkit


【解决方案1】:

最后,这是我的 config.block_unknown_urls(我阻止了我需要的 url)和 default_max_wait_time(我将其从 1 更改为 3)的问题。 现在解决了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多