我使用wicked(1.3.1)(不确定是否相关)在我的rails 5 app上进行入职流程。在我的入职流程的最后一步,有一个导航到<a>
的{{1}}链接。
这适用于所有浏览器。出于某种原因,过渡在Capybara中无效(rspec 3.7,rspec-rails 3.7.2,Capybara 2.14)。该网址会在自动浏览器中更改为所需的路径,但该页面不会呈现任何内容,它会保留旧视图。在视觉上它好像有人输入了一个url但没有按返回,但是,当我调试它们时,控制器方法和视图会被触及。它们似乎返回渲染,但该值未在浏览器中呈现
如果我在user#dashboard page
点击后在我的测试中暂停睡眠,我可以手动点击网址栏,按返回(导航到正确的网址),然后页面将呈现。但不是靠它自己。有人以前经历过这个吗?
我已经尝试将href更改为不同的路径以查看它是否是目标视图/控制器的问题 - 它不是,发生在我尝试的所有路径上。我也尝试过不同的水豚驱动程序:<a>
,:selenium
,:chrome
。所有相同的结果!
愿意提供更多细节,但我不确定要展示什么。它是一个简单的href,我不知道会出现什么问题。
干杯
编辑: 结果是日志中有错误。将使用解决方案进行更新。
错误:
:poltergeist
答案 0 :(得分:1)
日志中显示的错误是知道rspec / rspec-rails 3.6问题 - 升级将解决这个问题。除此之外,当手动将URL提交给浏览器而不是单击链接时,它可以工作,这表明链接可能受到JS的干扰。最有可能的是,您可以通过向链接添加data-turbolinks=“false”
属性来禁用给定链接的Turbolink。如果这样可以修复行为(您说明了这一点),那么您的某个文件中可能存在JS错误。检查浏览器中的开发人员控制台是否显示任何错误并进行修复。
既然你提到骚灵,你尝试过,在你的问题中的驱动程序后&#39; S有可能存在是导致JS,因为它不与使用时失败无记载错误#39;吨支持任何超出ES 5.1等等它不再适合测试现代网络应用程序了,如果你需要无头测试我会建议坚持使用无头镀铬。