"actual link") 但是,-6ren">
gpt4 book ai didi

capybara - Rails:如何在不关心文本的情况下使用Capybara测试链接的href值?

转载 作者:行者123 更新时间:2023-12-03 12:26:51 25 4
gpt4 key购买 nike

Capybara提供了一种有用的方法来检查链接:

have_link

据我所知,它可以像这样使用:
have_link("link_text", :href => "actual link")

但是,我不在乎link_text,而是只想检查 href(因为将测试链接到文本会比较脆弱)。如果我只想检查 href,这将是一个 View 测试。

如何使用 capybara 来检查 href而不需要检查文本?也许我可以使用正则表达式?

[编辑]根据以下答案更改了措辞

最佳答案

Capybara没有提供link_to方法,所以我不确定您从哪里得到(rails提供了link_to用于在 View 中生成链接)。要使用capybara仅基于其href查找链接,您可以执行

link = page.find(:css, 'a[href="actual link"]')

或者如果您要断言该元素存在
page.assert_selector(:css, 'a[href="actual link"]')

或-如果使用RSpec
expect(page).to have_selector(:css, 'a[href="actual link"]')

由于默认情况下具有链接,因此会在链接文本中搜索子字符串,因此您也可以
expect(page).to have_link(nil, href: 'actual link')

要么
page.assert_selector(:link, nil, href: 'actual link')

关于capybara - Rails:如何在不关心文本的情况下使用Capybara测试链接的href值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31387819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com