我已经找了这么长时间了,但还没有找到任何解决办法。
我想检查页面中是否存在特定的URL。Rspec水豚
例如:我想检查url http://project/guides/basics/是否在页面。
capybara具有has_link
函数,但只接受id
或text
作为参数,因此在本例中,
<a href='http://project/guides/basics/'>
<div class='image-button-container'>
<img src='/images/basic_img.png'/>
</div>
</a>
我应该如何做expect()
在Rspec使用Capybara?由于
下面两个应该可以:
expect(page).to have_link('', href: 'http://project/guides/basics/')
expect(page).to have_selector("a[href='http://project/guides/basics/']")
我真的希望有一个更好看的方法,但不幸的是,我找不到一个。
Capybara API提供如下方法-
page.should have_link("Foo")
page.should have_link("Foo", :href=>"googl.com")
page.should have_no_link("Foo", :href=>"google.com")
对于您的特定样本,您可以找到所有元素,然后检查a
是否有特定的div和图像。如下-
page.all("a[href='http://project/guides/basics/'] div img")[0]['src'].should be('/images/basic_img.png')