恶作剧者不承认完整的网址

时间:2016-07-20 11:02:41

标签: capybara poltergeist capybara-webkit

我正在尝试使用Capybara功能规格将webkit转换为poltergeist。我有一个像

这样的测试
find_link('About')[:href].should == about_path

使用webkit工作正常,但使用poltergeist作为javascript_driver,我收到以下错误

expected: "/about"
     got: "http://127.0.0.1:63361/about"

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

Capybara-webkit在这里返回href属性,而poltergeist(和selenium)返回属性。最好的解决方案是改变您对使用has_link匹配器的期望

page.should have_link('About', href: about_path)

这样做的好处是可以跨所有驱动程序工作,读取更好,并且还可以使用Capybaras重试行为。

TL; DR - 更喜欢Capybara提供的匹配器,尽可能使用属性的等式检查