2017-08-14 103 views
2
  • MacOS的塞拉利昂10.12.4
  • 节点 - v6.9.5
  • Appium - 1.6.0
  • 量角器 - 5.1.2

我对使用appium完全陌生,刚刚获得了运行谷歌Chrome浏览器的Android模拟器的基本设置。我遇到的问题是,我相信软键盘会阻碍登录等简单动作在键盘输入时出现问题时无法在键盘上运行。没有正确点击登录按钮。我发现的解决方法是在发送键以摆脱软键盘之后单击文本字段。我希望有一种简单的方法可以禁用键盘进行自动测试。我希望我不需要做的另一个选项是重载sendKeys函数来检查它是否在移动设备上,并在发送密钥后单击文本字段。任何帮助或建议如何解决这个问题表示赞赏。量角器+ Appium隐藏Android键盘铬

可能的解决方案

我发现从量角器API参考页面此ExtendedWebDriver信息,但我很难找到的成功实施其使用功能hideSoftKeyboard

+0

您是否尝试过的驱动程序.hideKeyboard()? –

+0

@BillHileman我将如何去调用我的量角器测试。它似乎不是一个有效的功能 – BarretV

+0

我不是第一手熟悉量角器,所以我可能会误解。但是,由于您标记了Appium,我认为自动化正在通过webdriver。如果是,并且Web驱动程序已正确定义/实例化,则应在创建的驱动程序对象上附加一个hideKeyboard方法。 –

回答

1

好了,所以我不能任何实例使用量角器实现ExtendedWebDriver无法使其工作。但他们说,你还可以在登录功能,我能够隐藏键盘就采用了全球wdBrowser输入密码后使用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); 
} 

然后在我的规格文件

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