作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 Capybara 验证复选框是否被禁用?
我尝试了几个选项,但似乎没有任何效果。上次尝试是
expect(page).to have_field("input[type='checkbox'][value='agreement']", disabled: true)
一如既往,谢谢。
最佳答案
如记录 - 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)
如果您使用的是最近的 capybara ,如果其他选项限制为唯一元素,您也可以跳过 id/name/label 文本。
expect(page).to have_field(type: 'checkbox', with: 'agreement', disabled: true)
如果你想用 CSS 选择器代替,那么你可以使用 :disabled
CSS3 伪选择器和 have_css
匹配器
expect(page).to have_css("input[type='checkbox'][value='agreement']:disabled")
关于rspec - capybara 的禁用复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48162007/
我是一名优秀的程序员,十分优秀!