我有一个 Rails 测试,其中我转到一个页面并输入信息,保存该页面(这使我返回一页),然后尝试返回以查看数据是否仍然存在。我碰壁了,但怀疑如果我能看到页面上的内容,我就能辨别出错误的地方或如何调整我的断言。有没有办法可视化/断点/卷曲测试实际遇到的页面?我断言的一切都被证明是错误的。
it "Emergency Contact step saves data submitted" do
click_link "Register online"
click_link "Emergency Contacts"
fill_in "Contact 1 Name", :with => "1 name"
fill_in "Contact 1 Phone", :with => "123.456.7890"
click_button "Save"
click_link "Emergency Contacts"
assert page.has_content?("1 name")
assert page.has_content?("123.456.7890")
end
我在页面转换后使用的一种技术是根据已知路径检查当前路径(路由),如下所示:
assert_equal page.current_path, new_page_path
# or
assert_equal page.current_path, "/things/new"
另一种调试方法可能是查看
page.html
的内容,例如
puts page.html
或者使用 capybara 的
save_and_open_page
方法,它将当前页面的 HTML 保存到 Rails 应用程序的 tmp
目录中,并在浏览器中打开它。