1

我正在使用 Cucumber 和 Selenium 来测试输入内容可编辑的 div。(维基百科的新可视化编辑器,如果你好奇的话。)

这或多或少是当前代码的外观:

When(/^I type (.+)$/) do |text|
  on(VisualEditorPage).content_element.send_keys(text)
end

我不仅想测试字符串的输入,还想测试实际的键盘键。我需要这样做的原因是我想测试不同语言和不同键盘布局的打字。英文键盘在键和字符之间具有简单的一对一映射,但并非所有键盘都如此;日语是一个非常极端的例子——在那里输入一些拉丁字母,然后将它们转换为可能的日语拼写列表,用户可以从中选择所需的内容。通过简单地使用带有日文字符的 send_keys 来测试这一点没有抓住重点,因为这不是最终用户实际所做的。

在一个更简单的场景中,我想在缅甸语或僧伽罗语键盘布局打开时测试按键并测试结果文本是否正确;仅仅粘贴整个字符串并不好,因为键盘布局会根据智能规则在键入时重新定位字符。

那么 - Selenium 中有什么允许这样做的吗?而不是喜欢send_keys 'abc'做类似的事情send_keys :a_key, :b_key, :c_key

谢谢!

4

1 回答 1

2

我没有亲自尝试过,但我想这个文档 - selenium.webdriver.common.keys以及这个文档Legacy Keyboard Event Properties应该可以帮助您进行第一次尝试。

因此,asend_keys('\u0041\u0042\u0043')应该有望等同于大写拉丁语 ABC。

于 2013-09-12T05:39:29.967 回答