Appium+python自动化7-输入中文-补充篇


(大白) #1

前言 本文来补充下《Appium+python自动化7-输入中文》中在APP输入中文时候的乱码问题

本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题。

一、定位搜索

1.打开淘宝点搜索按钮,进入到搜索页面

2.然后定位到搜索框后用sendkeys方法输入“hao”,这里定位元素用第四篇讲的uiautomatorviewer

工具就可以了

3.脚本如下图(公众号版权所有:软件测试部落)

二、运行脚本

1.首先要确认手机上的输入法是用的什么输入法,如果默认是中文的输入法,启动后会出现下面
情况,无法输入成功

2.于是可以先把手机上的输入法改成英文的状态,这样就可以输入英文字符串了。那么问题来了,

如果想输入中文的字符串呢?如何解决。。。

三、屏蔽软键盘

1.通过前面的操作,大概可以知道,在APP里面输入字符串是调用的软键盘输入的,有没办法像

selenium做web自动化时候一样,直接sendkeys绕过键盘输入呢?

2.于是可以想办法屏蔽软键盘,只需在desired_caps{}设置里面加两个参数(敲黑板,记重点!)

3.unicodeKeyboard是使用unicode编码方式发送字符串

4.resetKeyboard是将键盘隐藏起来(公众号版权所有:软件测试部落)

四、输入中文字符

1.将上面代码改成输入中文u“测试部落”,然后运行脚本,在手机上查看结果。(中文前面要加个u)

2.运行后手机上显示如下(公众号版权所有:软件测试部落)

3.如果显示中文字符为乱码时:

前面加上“#--coding:gb18030--” 如下图所示:

五、还原设置

1.当运行上面的脚本后,发现手动去输入时候,无法调出软键盘了,如何恢复呢?

2.打开手机设置,找到输入法设置选项,会发现默认的输入法被改成appium的输入法了。
所以只需把这里的设置,恢复成原来输入法就OK拉。

六、最终脚本如下


(上海●悠悠) #2

赞一个,帮助小伙伴们解决了疑难杂症


(冰河) #3

好习惯,好东西,这是悠悠哪个徒弟?


(2427829327) #4

真棒,学习了,谢谢分享


#5

跟着校长学,gogogogogo


(Tyler_chen) #6

引导页如何向左滑动


(冰河) #7

(冰河) #8