Þaw*_*Þaw 3 ruby selenium automated-tests rspec capybara
我已经搜索了这么久但还没有找到任何解决方案.
我想检查页面中是否存在特定的URL.Rspec Capybara
例如:我想检查页面中是否有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>
Run Code Online (Sandbox Code Playgroud)
我应该如何expect()使用Capybara在Rspec中进行操作?谢谢
ndn*_*kov 10
以下两个应该工作:
expect(page).to have_link('', href: 'http://project/guides/basics/')
expect(page).to have_selector("a[href='http://project/guides/basics/']")
Run Code Online (Sandbox Code Playgroud)
我真的希望有一个更好看的方式,但不幸的是,我找不到一个.
Capybara API 提供如下方法 -
page.should have_link("Foo")
page.should have_link("Foo", :href=>"googl.com")
page.should have_no_link("Foo", :href=>"google.com")
Run Code Online (Sandbox Code Playgroud)
对于您的特定示例,您可以找到所有元素,然后检查是否a存在特定的 div 和图像。像下面这样-
page.all("a[href='http://project/guides/basics/'] div img")[0]['src'].should be('/images/basic_img.png')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8154 次 |
| 最近记录: |