如何使用 Capybara 验证复选框是否已禁用?
我尝试了几种选择,但似乎没有任何效果。最后一次尝试是
expect(page).to have_field("input[type='checkbox'][value='agreement']", disabled: true)
Run Code Online (Sandbox Code Playgroud)
一如既往,谢谢。
如文档所述 - http://www.rubydoc.info/gems/capybara/Capybara/Node/Matchers#has_field%3F-instance_method -have_field匹配器采用字段的标签、名称或 ID 进行检查,它不采用 CSS选择器。因此,您需要将预期元素的名称、id 或关联标签文本传递给匹配器。对您在选择器中检查的其他所有内容执行此操作会是这样的。
expect(page).to have_field('id_of_checkbox', type: 'checkbox', with: 'agreement', disabled: true)
Run Code Online (Sandbox Code Playgroud)
如果您使用的是最近的水豚,如果其他选项限制为唯一元素,您还可以跳过 id/name/label 文本。
expect(page).to have_field(type: 'checkbox', with: 'agreement', disabled: true)
Run Code Online (Sandbox Code Playgroud)
如果您想使用 CSS 选择器来执行此操作,那么您可以将:disabledCSS3 伪选择器与have_css匹配器一起使用
expect(page).to have_css("input[type='checkbox'][value='agreement']:disabled")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2255 次 |
| 最近记录: |