我需要模拟三个按键组合。在OS X中,要创建重音符号,请按住alt + e,然后按要重音的字母。
在Capybara中,send_keys应该这样做,如下所示:
find('body').native.send_keys [:alt, 'e'], 'e'
这些文档中甚至还有一个类似的示例:https://www.rubydoc.info/github/jnicklas/capybara/Capybara%2FNode%2FElement:send_keys
问题是上面的代码导致没有重音的规则e。没有第二个“ e”,什么都不会发生。
是否可以模拟此动作?我应该尝试使用JavaScript吗?
您可以在Google主页上测试find('.gLFyf').native.send_keys [:alt, 'e'], 'e'
。
要清楚,我不只是要将é发送到输入字段,这不会测试更改的行为。
答案 0 :(得分:0)
不幸的是没有。 <alt-e> e
行为是由OSX而非浏览器处理的,而Capybara只能控制浏览器看到的行为。这意味着,尽管浏览器看到了按键,但OSX本身却没有,因此不会出现带有重音符号的替换。但是,虽然您不希望仅发送字符,但由于它是系统行为(而不是您的应用程序/网站的行为),因此直接发送é
等效于测试pov(就输入内容而言)会,是的,它将无法正确匹配关键事件。)