关于ruby:如何检查水豚的页面中是否存在URL /链接?

How to check if url/links exist in page in Capybara?

我已经搜索了很长时间,但是没有找到任何解决方法。

我想检查页面中是否存在特定的URL。 Rspec水豚

例如:我想检查URL http:// project / guides / basics /是否在页面中。

水豚具有has_link功能,但仅接受idtext作为参数,因此在此示例中,

1
        <img src='/images/basic_img.png'/>

我应该如何使用Capybara在Rspec中执行expect()?谢谢


以下两个应该起作用:

1
2
expect(page).to have_link('', href: 'http://project/guides/basics/')
expect(page).to have_selector("a[href='http://project/guides/basics/']")

我真的希望有一种更好看的方法,但是不幸的是,我找不到一个。


Capybara API提供了如下方法-

1
2
3
page.should have_link("Foo")
page.should have_link("Foo", :href=>"googl.com")
page.should have_no_link("Foo", :href=>"google.com")

对于您的特定示例,您可以找到所有元素,然后检查a是否具有特定的div和图像。如下所示-

1
page.all("a[href='http://project/guides/basics/'] div img")[0]['src'].should be('/images/basic_img.png')