【问题标题】:How to test for a target="_blank" attribute with Capybara?如何使用 Capybara 测试 target="_blank" 属性?
【发布时间】:2014-09-01 02:22:41
【问题描述】:

我正在尝试一些我认为很简单的东西。我需要修改一个链接以具有 target="_blank" 属性,并且我想进行测试以确认它实际上在页面上。我尝试了很多变化,我能得到的最接近的是:

it { should have_link('change', href: 'url', target: '_blank') }

但这只是抛出一个错误,说'target:'是一个无效的键。有没有办法测试这个属性?此外,是否有测试 HTML 元素属性的通用方法?我查到的信息不是很清楚。

使用 Capybara 2.1.0、Rails 4.0.5。

谢谢

【问题讨论】:

    标签: ruby-on-rails testing capybara


    【解决方案1】:

    你可以做你想做的事,或者测试任何属性值,使用have_selector和CSS选择器语法来指定属性值,像这样:

    it { should have_selector('a[href="url"][target="_blank"]') }
    

    have_link 无法做到这一点,因为have_link

    【讨论】:

    • 我的朋友,在这种情况下,我希望 SO 除了投票和接受答案之外还有一个“给你买啤酒”按钮。这就像一个魅力。我仍然是 TDD 新手,这将非常有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    相关资源
    最近更新 更多