【问题标题】:Can Capybara play nice with Turbolinks?Capybara 可以与 Turbolinks 一起玩吗?
【发布时间】:2016-05-21 23:55:33
【问题描述】:

我在使用 turbolink 和 capybara 时遇到随机故障。例如,即使页面加载(我可以在浏览器中看到它、capybara 屏幕截图和生成的输出),它似乎也找不到我的 dom 节点。

另一方面,如果我禁用链接上的 turbolink 选项,一切正常。

有什么线索/提示吗?

谢谢

【问题讨论】:

  • 如果您正确编写测试和期望(允许水豚等待行为),那么 turbolinks 不会导致问题 - 添加您遇到的测试和失败示例,我们可以提供指点
  • 我遇到了同样的事情,我认为这是因为 Turbolinks 的页面替换策略混合了 Capybara 方面的缓存或太快的查找。我认为,如果您知道它们是如何工作的,那么几乎很明显您会遇到间歇性故障,希望有人有解决方案......
  • 我遇到了同样的问题,看起来我需要允许等待行为或在运行测试时以某种方式禁用 turbolinks。

标签: ruby-on-rails cucumber capybara


【解决方案1】:

尝试更改Capybara.default_max_wait_time = 5的默认值

【讨论】:

    【解决方案2】:

    使用js:true。示例:

    describe "Some feature", js: true do
     ...
    end
    

    【讨论】:

    • 没有 js:真正的 turbolinks 就不会被使用,所以很明显 OP 已经在使用支持 JS 的驱动程序进行测试
    猜你喜欢
    • 2015-06-30
    • 2012-02-06
    • 2015-07-03
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多