量角器+ Appium隐藏了Chrome中的android键盘

时间:2017-08-14 15:12:11

标签: android google-chrome protractor appium

  • MacOS Sierra 10.12.4
  • 节点 - v6.9.5
  • Appium - 1.6.0
  • 量角器 - 5.1.2

我是使用appium的新手,只是使用运行google chrome浏览器的android模拟器进行基本设置。我遇到的问题是我认为软键盘是这样的,所以当键入键盘所在的凭据中输入时,登录等简单操作不会起作用b / c所以它没有正确点击登录按钮的方式。我找到的解决方法是在发送密钥后单击文本字段以摆脱软键盘。我希望有一种简单的方法可以禁用键盘进行自动测试。我希望我不必做的另一个选择是重载sendKeys函数以检查它是否在移动设备上并在发送密钥后单击文本字段。任何有关如何解决此问题的帮助或建议表示赞赏。

可能的解决方案

我在量角器api参考页面中找到了这个ExtendedWebDriver信息,但是我很难找到成功实现它的任何示例来使用函数hideSoftKeyboard

1 个答案:

答案 0 :(得分:1)

好吧所以我无法使用ExtendedWebDriver的protractors实现它。但是他们说你也可以使用wd-bridge

// configuring wd in onPrepare
// wdBridge helps to bridge wd driver with other selenium clients
// See https://github.com/sebv/wd-bridge/blob/master/README.md
onPrepare: function () {
  var wd = require('wd'),
    protractor = require('protractor'),
    wdBridge = require('wd-bridge')(protractor, wd);
  wdBridge.initFromProtractor(exports.config);
}

然后在登录功能的我的spec文件中,我能够在使用全局wdBrowser输入密码后隐藏键盘

this.passwordFld.sendKeys(password).then(() => {
  wdBrowser.hideDeviceKeyboard();
  this.signInBtn.click();
});