作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Capybara 编写一些功能测试,用于涉及大量 javascript 刷新的页面(当用户单击“继续”按钮时,url 将保持不变,但将显示隐藏的内容,并隐藏显示的内容,因此在页面“上”的任何给定点都有大量文本/选择器/等,但对用户隐藏)。
为了测试这个功能,我希望 Capybara 的 ignore_hidden_elements 配置选项为真,因为这最能代表用户体验。
但是页面上也有一些jQuery插件使用花哨的图形来填充隐藏的基本HTML元素,而我想使用Capybara只是为这些元素选择正确的值,而不是尝试使用Javascript来手动模拟与元素交互的用户。
特别是,我试图测试设置为 display:none 并在用户与它们交互时由 jQuery 插件填充的 Select 框。我希望能够做到这一点:
select('value', from: 'select_box')
select('value', from: 'select_box', visible: false)
select 'value', from: 'select_box_id'
select 'value', from: 'select_box_id', visible: false
Failure/Error: select 'value', from: 'select_box_id', visible: false
Capybara::ElementNotFound:
Unable to find select box "select_box_id"
最佳答案
这是 Capybara 2.0.x 中的一个错误。 Here is a test case这在 2.0.x 中可重现,但在 2.1 中不可重现。
但是 Capybara-Webkit 的维护者还没有发布 Capybara 2.1 兼容的版本。
可能的解决方案:
关于ruby-on-rails - 当ignore_hidden_elements为true时无法填充Capybara中的任何隐藏元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16528630/
我是一名优秀的程序员,十分优秀!