ruby-on-rails – 如何轻松取消选中Capybara的所有复选框
发布时间:2020-12-17 03:56:19 所属栏目:百科 来源:网络整理
导读:我有一个复选框列表,使用 collection_check_boxes 创建. 在功能/集成测试中测试时,使用Capybara,并希望通过取消选中它们来“规范化”页面,然后检查我想要检查的页面: within_fieldset('Product') do # Reset all checkboxes for a level playingfield. # Wh
我有一个复选框列表,使用
collection_check_boxes 创建.
在功能/集成测试中测试时,使用Capybara,并希望通过取消选中它们来“规范化”页面,然后检查我想要检查的页面: within_fieldset('Product') do # Reset all checkboxes for a level playingfield. # What to do? # Mark checkboxes for products enabled products.each do |product| check products end end 这是一个所谓的PageObject,因此我想要一些通用:如果在实际测试中,我会知道哪些字段被检查并取消选中它们.但是这个更通用的助手没有这样的知识. 我尝试过沿着find(‘input [type = checkbox]’)的所有内容.所有{|复选框|取消选中(复选框)},这应该有效,但对于手头的任务来说似乎相当复杂,不是吗? 是不是有一些uncheck_all()?我错过了,在Capybara?在开始填充表格之前,将资本中的表格“重置”为空白状态是一种常见的模式吗? 解决方法
试试这个:
all('input[type=checkbox]').each do |checkbox| if checkbox.checked? then checkbox.click end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |