Jos*_*djo 5 selenium google-chrome selenium-chromedriver selenium-webdriver protractor
在我自动更新到 Chrome 76 后,我今天使用 sendKeys 按 Enter 或 Tab 的量角器测试失败了。
这是昨天在 Chrome 75 上找到的。
这是曾经工作的代码:
browser.actions().sendKeys(protractor.Key.TAB).perform();
Run Code Online (Sandbox Code Playgroud)
错误信息是
Failed: sendKeysToActiveElement
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'DESKTOP-6JGLC4V', ip: '192.168.0.5', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_221'
Driver info: driver.version: unknown
Run Code Online (Sandbox Code Playgroud)
我们的 Angular 应用程序有下拉菜单,您必须在下拉菜单外单击或按 Tab 键将其关闭。所以我不会将击键发送到输入元素。我试过了,$('body').sendKeys(protractor.Key.TAB);
但这似乎不起作用。
这个错误信息...
Failed: sendKeysToActiveElement
Run Code Online (Sandbox Code Playgroud)
...意味着ChromeDriver无法调用sendKeys()
ActiveElement 。
当ChromeDriver / Chrome切换到W3C支持时,这个问题开始出现。
@AutomatedTester 在讨论UnsupportedOperationError: sendKeysToActiveElement with sendkeys中提到,这可能是客户端绑定中的Actions类中的问题。
绑定中应该有一些垫片,以确保在已删除的旧命令上提供相同的功能。这已在核心 selenium 绑定中实现。
Python 示例:
def send_keys(self, *keys_to_send):
"""
Sends keys to current focused element.
:Args:
- keys_to_send: The keys to send. Modifier keys constants can be found in the
'Keys' class.
"""
typing = keys_to_typing(keys_to_send)
if self._driver.w3c:
for key in typing:
self.key_down(key)
self.key_up(key)
else:
self._actions.append(lambda: self._driver.execute(
Command.SEND_KEYS_TO_ACTIVE_ELEMENT, {'value': typing}))
return self
def send_keys_to_element(self, element, *keys_to_send):
"""
Sends keys to an element.
:Args:
- element: The element to send keys.
- keys_to_send: The keys to send. Modifier keys constants can be found in the
'Keys' class.
"""
self.click(element)
self.send_keys(*keys_to_send)
return self
Run Code Online (Sandbox Code Playgroud)@barancev 已经通过提交重命名回 'py' 目录、使用 'legacy_create_init' 参数合并了所需的更改,并且此问题将在ChromeDriver v77.0 / Chrome v77.0的下一版本中得到完全解决。
好消息是ChromeDriver v77.0已经发布,包含以下修复。来自ChromeDriver v77.0 的发行说明:
Protractor.Key.Enter 在 ChromeDriver v75.0.3770.8 中不起作用
归档时间: |
|
查看次数: |
4166 次 |
最近记录: |