【问题标题】:How to click on CTRL+M (Control + M) in WebdriverIO如何在 WebdriverIO 中点击 CTRL+M(Control+M)
【发布时间】:2017-10-11 18:58:04
【问题描述】:

我必须在 WebdriverIO 中发出 CTRL+M 操作,但它不起作用。

我尝试过使用不同的方法,例如:

  • browser.keys('Control').keys('m');
  • browser.keys(['Control','KeyM', 'NULL']);
  • browser.keys(['Control', 'm', 'NULL']);
  • browser.keys('Control').keys('KeyM');
  • browser.deviceKeyEvent(82); browser.pressKeycode(82); browser.keys('MENU');

以上都不起作用。谁能帮帮我?

【问题讨论】:

  • I have to click on control+M你想点击一些按键吗?
  • 是的。但是这里没有移动键盘。

标签: javascript mocha.js appium webdriver-io


【解决方案1】:

简短回答,。您目前无法将键命令与任何驱动程序配置链接。 .keys() 实际上仍然适用于 chromedriver(仅发送文本,没有链接),但它已被标记为弃用。有关详细信息,请参阅下面的列表。

Dependencies:

"selenium-standalone": "^5.11.2",
"wdio-selenium-standalone-service": "0.0.8",
"webdriverio": "4.8.0"

Driver versions affected:

ChromeDriver: 2.29-x64-chromedriver
GeckoDriver:  0.16.0-x64-geckodriverIEDriver:
3.4.0-x64-IEDriverServer

.keys() 命令有什么问题?

  • 这是整个 Selenium 社区的已知问题,在驱动程序(chromedrivergeckodriver 等)实现 Webdriver 的新 W3C 用户输入标准 Actions API 之前,不会在 WebdriverIO 中修复/解决;
  • 没有其他方法可以做到这一点(相信我,我试过了!),除非您实际上可以通过代码替换您的 CTRL + M 操作的功能;
  • 这里有一个BUG,它记录了 GeckoDriver (Firefox) 的这个问题;
  • 即使 .keys() 方法适用于您当前的版本,Christian-Bromann 也确认它将在下一个版本中弃用(在 /lib/protocol/keys.js 定义文件中也标记为弃用)。

注意:对于使用不同 WDIO 命令有类似问题的任何人,.keys()(WDIO)、.sendKeys()(WebdriverJS) 的弃用也适用于其他损坏的 WebdriverIO 方法,例如 .moveTo()。阅读更多关于它的信息here

【讨论】:

  • @Payal,CTRL+M 命令触发的行为是什么?无论如何,您应该通过代码找到解决方法。考虑接受答案,以便其他遇到此问题的用户可以看到它。
  • 其实,我点击的是第一个按钮。然后我必须点击 CTRL+M... 之后,我必须点击第二个按钮。所以点击第一个按钮后,它不是单击 CTRL+M 并搜索第二个按钮。由于它不存在,因此在超时后将错误显示为“使用给定定位器找不到元素”。
  • @Payal 是的,不幸的是,根据我的上述回复,目前无法在 WebdriverIO 中链接密钥。您仍然可以尝试通过代码(通过.execute()模拟CTRL+M 命令。 CTRL+M 试图在你的测试中实现什么? (例如:打开一个文件,关闭一个窗口,选择一些文本)
  • 在我的模拟器中,它没有显示真实设备上存在的应用程序的注销按钮。所以在手动测试中,如果我单击 CTRL+M,在单击第一个按钮后,它会给出我在模拟器中弹出注销按钮。然后单击确认注销按钮,我的任务结束。但是在执行自动化时,它没有点击 CTRL+M。
  • @iamdanchiv 我在 WDIO5 上发生了什么变化?需要用CTRL+V粘贴
猜你喜欢
  • 2016-04-21
  • 2012-09-10
  • 1970-01-01
  • 1970-01-01
  • 2015-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多