[英]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.