我有一些Cucumber场景在本地计算机和Codeship(用于持续交付)中随机失败。单独或全部一起运行它们没有任何区别,仍然通过并且没有(确定的)原因。
详细地说,看起来Capybara在“继续下一页”之后无法在页面上找到元素。点击。根据建议here,我已将sleep()
更新为10秒,甚至尝试将某些@vcr_cassette #to fake API call
Scenario: User should be able to complete the last step of the application
When I complete the application up to step 5
Then I should read "Step 6" #FAILS HERE
When I fill application step 6
And I click on "Submit your application"
Then I should read "Congratulations! You have finished your application."
@vcr_cassette #to fake API call
Scenario: User should be able to complete the application
When I complete the application up to step 6 #FAILS HERE
Then I should read "Congratulations! You have finished your application."
置之不成。
我也看到有人有类似的情况(见here)并修复了更新capybara-webkit。所以我更新了黄瓜,硒和poltergeist gem(在Ruby工作),但这也没有解决问题。
值得一提的是,上次我们在生产中推送代码这些测试正确传递,无论是在本地还是在Codeship上。之后没有其他版本发布,因此在代码已经投入生产时它们开始失败。我们探讨了一些未更新日期的可能链接,但看起来就好了。
有什么建议吗?提前致谢
环境:Ruby on Rails 2.0.0p598,Capybara 2.6.0,Cucumber 1.3.20,Cucumber-rails 1.4.2,poltergeist 1.8.1,selenium-webdriver 2.49
__
代码失败的例子:
$('time').text( moment( '2016-01-22 18:00:00' ).fromNow() );
Capybara未能阅读'步骤6'