模拟在 Rspec Capybara 中按下 Tab 键?
Posted
技术标签:
【中文标题】模拟在 Rspec Capybara 中按下 Tab 键?【英文标题】:Simulate pressing Tab key in Rspec Capybara? 【发布时间】:2021-12-26 05:23:30 【问题描述】:我正在尝试编写用于在对话框模式中管理焦点的测试。如何在Rspec Capybara中模拟按下键盘Tab
键?
【问题讨论】:
这取决于您使用的驱动程序。例如,在 Rack::Test(默认驱动程序)上,无法模拟按键,因为它实际上不是真正的浏览器。 【参考方案1】:使用send_keys
方法,例如:
body = find('body')
body.send_keys(:tab)
body.send_keys([:shift, :tab])
在all the capybara docs pages 和send_keys
中,Capybara::Node::Element class 写得最好。
【讨论】:
注意:对于最近的 Capybara,您也可以在会话中直接调用send_keys
,它应该被发送到当前活动元素 page.send_keys(:tab)
而不必先找到主体以上是关于模拟在 Rspec Capybara 中按下 Tab 键?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用rails cucumber,rspec,capybara在视图(dhtml)中测试动态部分?
在 RSpec 请求规范中使用 Capybara 时设置自定义请求标头的最佳方法是啥?