0
我想写一个水豚测试,测试多选择使用Windows上的Ctrl和MacOS上的命令键。有没有办法用Capybara和Poltergeist进行Ctrl +单击?
我在这里找到了一个解决方案,只有当我使用Selenium作为我的驱动程序时才有效。 Testing jQuery Selectable capybara or selenium (ctrl + click)
但是,该解决方案不适用于Poltergeist驱动程序。 Poltergeist目前是否支持Ctrl + Click?
谢谢Thomas!我也知道这个解决方案:https://stackoverflow.com/questions/8474103/is-there-a-way-to-send-key-presses-to-webkit-using-capybara虽然它建议使用KeyboardEvent。根据MDN的keyCode已被弃用,并没有真正推荐。我正在尝试选择'li'HTML元素。问题是我们故意这样做,以便用户需要按住'Ctrl'或'Shift'才能执行多重选择。 – SpartaSixZero
@SpartaSixZero'send_keys'在返回之前释放密钥,所以它不会因为后面的点击而关闭。从你的描述中,我假设你需要发出一个鼠标点击事件,并在该事件中设置正确的键盘修饰符。如果你的代码也实现了通过键盘进行多选的方法,那么你可以用'send_keys'来实现 - http://www.rubydoc.info/gems/capybara/Capybara/Node/Element#send_keys-instance_method - in一个交叉驱动的方式 –
不幸的是,我们的要求规定我们需要结合keydown和鼠标左键单击来进行多重选择。所以我不认为send_keys在这里会有帮助,因为send_keys只需要键而不是鼠标点击。我怀疑只要按下按键就可以做出多重选择,但不值得仅仅做一次水豚测试。 – SpartaSixZero