我正在尝试使用Capybara,RSpec和JS(使用Webkit)实现请求规范。我有一个测试,发送一个JS请求(jQuery.load),它将返回一个页面,该页面将嵌入现有页面。
当我用pry调试测试时,它会运行。当它自己运行时它会失败。我想这是因为使用pry时增加了时间。有没有办法可以迫使Cabypara重试一段时间?
我的测试代码如下:
describe "load list for given period", js:true do
it "loads the last entry" do
page.fill_in "period_value", with: "1"
page.select "Entries", from: "period_unit"
page.click_link "update_list_section"
page.all(:xpath, "//div[@id='list_section_wrapper']/table/tbody/tr").count.should == 2
end
end
答案 0 :(得分:1)
因为元素在请求时已经存在,Capybara.default_wait_time
不起作用,即水豚不等待/重试。我不得不努力工作sleep(0.5)
。
在这个blog post中得到了很好的解释(只要我在googlez中输入了正确的关键字)。