测试RspecCapybara中的页面是否不存在链接?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试RspecCapybara中的页面是否不存在链接?相关的知识,希望对你有一定的参考价值。

我在capybara中有2个场景,第一个场景检查页面上是否有链接,第二个场景检查页面上是否没有链接。第一个方案检查页面上是否有链接,第二个方案检查链接是否不存在。

我通过使用下面的方法使第一个测试通过。

expect(page).to have_link('act_id')

我试着用下面的方法来进行第二个测试.

expect(page).to not_have_link('act_id')

但我得到以下错误

NoMethodError: undefined method `not_have_link'

如何测试页面上的链接是否不存在?

Ruby版本:2.2

Rails版本:4.2 4.2

答案
expect(page).to have_no_link('act_id')
另一答案
expect(page).not_to have_link('act_id')

对于RSpec来说,这和excepted答案的效果是一样的 expect(page).to have_no_link('act_id'). 虽然在其他一些框架中RSpec也是如此,但是 "链接丢失 "的测试 翘首以待 但 "链接已找到 "的测试却没有等待。

(答案来自Teamcapybara成员Thomas Walpole的评论)

以上是关于测试RspecCapybara中的页面是否不存在链接?的主要内容,如果未能解决你的问题,请参考以下文章

RSpec capybara:涉及 Ajax 的测试单独通过,但一起运行时失败

可用性测试

Web功能测试的4种类型

检查链表中的每个节点是不是存在 c 中的条件

WEB测试方法及注意地方

使用赛普拉斯,我将如何编写一个简单的测试来检查页面上是不是存在徽标图像