是否可以模拟OS X快捷方式以在水豚中创建带重音符号的字符? (alt + e,e)

时间:2019-01-28 15:34:03

标签: rspec automation capybara

我需要模拟三个按键组合。在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'

要清楚,我只是要将é发送到输入字段,这不会测试更改的行为。

1 个答案:

答案 0 :(得分:0)

不幸的是没有。 <alt-e> e行为是由OSX而非浏览器处理的,而Capybara只能控制浏览器看到的行为。这意味着,尽管浏览器看到了按键,但OSX本身却没有,因此不会出现带有重音符号的替换。但是,虽然您不希望仅发送字符,但由于它是系统行为(而不是您的应用程序/网站的行为),因此直接发送é等效于测试pov(就输入内容而言)会,是的,它将无法正确匹配关键事件。)