我们使用app时,输入文字都是调用软键盘。在自动化测试中当然也可以调用软键盘,但是由于输入法设计上的差异,有时候不能达到很好的效果。
例如,搜狗拼音输入法:
选择4-咖啡,然而多打几次,输入法就把“咖啡”当成高频词汇,有可能把这个词放在1或2或3,而这一点代码是很难捕捉到的。
因此,我们选择send_keys()绕过软键盘,用unicode编码方式来输入文字。
1. 在初始化时添加两行代码:
- unicodeKeyboard是使用unicode编码方式发送字符串
- resetKeyboard是将键盘隐藏起来
2. 在需要输入文字的地方这样使用:
self.driver.find_element_by_id("id/publish_title").send_keys("随便起名字")
3. 还原设置
打开手机设置,找到输入法设置选项,会发现默认的输入法被改成appium的输入法了,改成自己原来的输入法就好了。