【问题标题】:Robot Framework pressing CapsLock key机器人框架按下 CapsLock 键
【发布时间】:2018-06-04 15:42:16
【问题描述】:

我正在使用 Robot Framework selenium2library 来自动化 Chromium Embedded 应用程序。 要求是测试如果 Caps Lock 键打开,窗口是否显示工具提示。

Press Key   #element_id   \\\20             

我正在使用上面的代码来启用具有 20 作为 Caps Lock 键的 ASCII 码的大写锁定键。但是上面的代码不起作用。 相同的语法适用于 Enter 键(ASCII 值 13)和 Tab 键(ASCII 值 09),如下所示。

Press Key   #element_id   \\\13     
Press Key   #element_id   \\\09     

有人可以帮我使用 Robot Framework 实现 Caps Lock 按键吗?

【问题讨论】:

  • 20 真的是你系统上的 Capslock 吗?

标签: selenium robotframework keyboard-events selenium2library


【解决方案1】:

简短的回答是这不受支持。对非字母键的支持仅限于 Selenium 模块中指定的那些。在Webdriver/Common/Keys.py 中可以找到所有支持的密钥。在这里您可以找到对 tabenter 键的支持。 Caps 键不在其中。

在 SeleniumHQ 问题页面搜索此遗漏时,有一个参考:请在 webdriver 中添加发送“CAPSLOCK”的功能。#785。这里声明如下:

这超出了范围。

不幸的是,并非所有计算机都带有大写锁定,所以关闭它 因为有一种解决方法,可以按住 shift

这并不意味着它是不可能的,而只是 Selenium 不支持它并且它是派生的 SeleniumLibrary。为了在测试会话期间按下此键,需要加载特定于操作系统的 Python 模块,它会为您按下此键。对于 Windows,Microsoft SendKeys 功能可以做到这一点。在此Stack Overflow answer 中,您可以找到有关如何在 Windows 和 Linux 上使用此方法的更多详细信息。

【讨论】:

    【解决方案2】:

    感谢所有寻找问题解决方案的人。

    使用下面提供的 ImageHorizo​​nLibrary 找到了一个可行的解决方案

    https://github.com/Eficode/robotframework-imagehorizonlibrary https://github.com/Eficode/robotframework-imagehorizonlibrary/blob/master/tests/atest/windows_tests.robot

    我使用上述库的工作代码:

    Library           ImageHorizonLibrary
    
    *** Keywords ***  
    CheckCapsLockOnNotification  
        Press Key    ${UsernameTextElement}    \\09   #For Tab key  
        Type    Key.CAPSLOCK                          #For CapsLock Key  
        Type    pass                                  #Typing keyboard letters  
        Page Should Contain Element    ${CapsLockOnTooltipElement}  
        Clear Element Text    ${PasswordTextElement}  
        Type    Key.CAPSLOCK
    

    【讨论】:

    • 请记住,ImageHorizo​​nLibrary 使用桌面级密钥自动化。在同一主机上运行同一浏览器的多个实例时,这可能会导致冲突。
    猜你喜欢
    • 2021-07-19
    • 2013-11-08
    • 2021-10-19
    • 2016-05-19
    • 2020-04-26
    • 2015-10-14
    • 2019-06-11
    • 2017-12-19
    • 2020-04-02
    相关资源
    最近更新 更多