我目前使用带有Selenium 2.18的Robot Framework 2.7来运行我的测试脚本。在我的一个脚本中,我必须使用 Press Key Native 关键字输入 @ 符号。我看到的 @ 符号的关键原生值是 512
(http://docs.oracle.com/javase/6/docs/api/constant-values.html#java.awt.event.KeyEvent.VK_AT)
但由于某种原因,每当它执行 Press Key Native 512 时,我都会收到错误消息。我得到的错误是"ERROR: Problem during keyDown: Invalid key code"
. 是否为 @ 符号分配了新值?
注意:我的脚本中的按键原生关键字适用于其他值(对于字母 a,我使用 65)
以下是我使用的代码,几乎没有解释:
@{email_address_in_list_form} = Split Email ${email}
@{email_address_in_number} = Convert Name To Numbers @{email_address_in_list_form}
@{numbers_to_input} = Convert To List ${email_address_in_number}
:For ${number} IN @{numbers_to_input}
\ Press Key Native ${number}
上述代码将电子邮件地址拆分为字母并将其放入列表中,然后将新创建的字母列表转换为数字,因为 Press Key Native 关键字使用 java.awt.event.KeyEvent 数字。For 循环现在在指定的文本字段中输入数据。在这个 for 循环中,当它到达键入值为 512 的 @ 符号时会发生错误。例如,电子邮件地址 admin@test.com,系统键入直到 admin 并在键入 @sign 时出错。