Exception 黄瓜/水豚:在幻影下测试随机失败
当我在PhantomJS下运行黄瓜场景时,我得到Exception 黄瓜/水豚:在幻影下测试随机失败,exception,cucumber,capybara,phantomjs,Exception,Cucumber,Capybara,Phantomjs,当我在PhantomJS下运行黄瓜场景时,我得到 Capybara::ElementNotFound: Unable to find css ".given_class" 随机地点的例外情况 看起来驱动程序并不等待元素出现 我正在使用: Ruby 2.0 黄瓜1.3.6 水豚2.1.0 Selenium webdriver 2.35.1 PhantomJS 1.9.1Capybara,特别是使用PhantomJS时,将非常快速地加载页面,并执行元素检查。因此,某些元素可能未加载,测试失败。默认
Capybara::ElementNotFound: Unable to find css ".given_class"
随机地点的例外情况
看起来驱动程序并不等待元素出现
我正在使用:
Ruby 2.0
黄瓜1.3.6
水豚2.1.0
Selenium webdriver 2.35.1
PhantomJS 1.9.1Capybara,特别是使用PhantomJS时,将非常快速地加载页面,并执行元素检查。因此,某些元素可能未加载,测试失败。默认情况下,水豚的等待时间为2,可以增加。也许可以试试:
Capybara.default_wait_time = 5
就像他们在文件中建议的那样
您还可以在步骤定义中添加睡眠(1),但这被认为是不好的形式
如果这不适合您,请尝试指定元素在页面上的位置
例如:
Then /^I should see "(.*?)" on the dashboard$/ do |your_element|
within("#your") do
expect(page).to have_content(your_element)
end
end
检查Capybara.automatic_reload参数。 默认情况下,这是真的,如果它看不到它想要什么,则每50毫秒就会向服务器发送一次请求:)