在做UI自动化时,总会遇到输入框输入完内容,因键盘未收起导致定位元素定位不到,本人就目前学习中熟知的键盘处理方式,总结如下:
一、使用appium自带方法,desired_caps配置项中的设置
"unicodeKeyboard": True, # 使用Unicode编码方式发送字符串
"resetKeyboard": True # 是否调用appium键盘
备注:设置完成后,系统会自动使用设置的系统键盘(想使用系统键盘需重新设置输入法)
二、调用系统键盘方法,driver.keyevent(66)
更多键盘代码见https://www.cnblogs.com/lxwphp/p/9548823.html
调用方式如图:
三、隐藏手机键盘,设置键盘隐藏可使用:self.driver.hide_keyboard()
四、如果以上方式还未解决,可使用按键精灵或者检查手机输入法是否有开启安全键盘,关闭即可解决
五、自动化过程中,appium设置的默认键盘 恢复的方式
adb shell ime list -s 获取当前可用输入法命令,具体如下图:
然后,切换成其他输入法,如图
命令:adb shell settings put secure default_input_method com.sohu.inputmethod.sogou.vivo/.SogouIME
便可以切换成功,此时可以进行自动化输入操作。
网友评论