我是使用appium的新手,只是使用运行google chrome浏览器的android模拟器进行基本设置。我遇到的问题是我认为软键盘是这样的,所以当键入键盘所在的凭据中输入时,登录等简单操作不会起作用b / c所以它没有正确点击登录按钮的方式。我找到的解决方法是在发送密钥后单击文本字段以摆脱软键盘。我希望有一种简单的方法可以禁用键盘进行自动测试。我希望我不必做的另一个选择是重载sendKeys函数以检查它是否在移动设备上并在发送密钥后单击文本字段。任何有关如何解决此问题的帮助或建议表示赞赏。
可能的解决方案
我在量角器api参考页面中找到了这个ExtendedWebDriver信息,但是我很难找到成功实现它的任何示例来使用函数hideSoftKeyboard
答案 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();
});