簡體   English   中英

如何匹配水豚中的完整鏈接?

[英]How do I match a full link in capybara?

在Capybara + Rspec中,我可以檢查鏈接是否丟失:

response.body.should_not have_link("link_content")

很好,但是不幸的是,當“ link_content”部分匹配鏈接(例如“ this_is_a_long_link_content”)時,測試失敗。 在這種情況下,如何更改測試以使其通過?

(也就是說,匹配器不應部分匹配,而應完全匹配)。

從文檔:

如果所有其他方法均失敗,則還可以使用page.html方法對原始HTML進行測試:

這對我有用:

page.html.should match('>\s*Log in\s*</a>')
page.html.should_not match('>\s*link_content\s*</a>')

請注意,匹配的參數可以是正則表達式。 這意味着您只需添加\\s*就可以使解決方案與空格無關。

您還可以使用以下解決方法:

response.body.should_not have_xpath("//a[normalize-space(text())='link_content']")

這與空白無關,因此比原始HTML方法要靈活一些。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM