Poltergeist 没有识别完整 url

Poltergeist is not recognising full url

我正在尝试从使用 webkit 切换到 poltergeist 与 Capybara 功能规范。我有一个像

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

在 webkit 上运行良好,但在 javascript_driver 上使用 poltergeist,我收到以下错误

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

我该如何解决这个问题?

Capybara-webkit 在此处返回 href 属性,而 poltergeist(和 selenium)returns 属性。最好的解决方案是改变您对使用 have_link 匹配器

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

这具有跨所有驱动程序工作的优点,更易于阅读,并且还可以使用 Capybaras 重试行为。

TL;DR - 尽可能使用 Capybara 提供的匹配器而不是对属性的相等性检查