我一直在尝试我的黄瓜CapyBara / Cucumber测试失败,但我无法弄清楚原因。这是测试:
Then /^I should see that the customer is a singer$/ do
expect(page).to have_css('.singer-row')
end
如果我撬开那个测试并运行"期望(页面).to have_css(' .singer-row')"它回来了真实。在浏览器中,我可以看到那里的元素。
这是错误:
expected to find css ".singer-row" but there were no matches (RSpec::Expectations::ExpectationNotMetError)
这是erb:
<% @singers.each do |singer| %>
<tr class='singer-row'>
<td>
...
我哪里错了?
答案 0 :(得分:1)
Capybara.default_max_wait_time = 5
到我的env文件。 Capybara在加载之前正在寻找css元素。
答案 1 :(得分:0)
运行测试用例时,问题可能与您的页面大小有关。有时内部浏览器会以非常小的尺寸打开,因此它会在后台获取移动视图。
因此,请尝试在您遇到错误的测试用例中截取您的网页截图。
如果是这种情况,请尝试添加以下代码,然后就完成了。
Before do |scenario|
DatabaseCleaner.start
page.driver.browser.manage.window.maximize
end