51Testing软件测试论坛

标题: uiautomator解决设置中文问题 [打印本页]

作者: xiaomage    时间: 2017-4-7 11:24
标题: uiautomator解决设置中文问题

我们知道通过uiautomator中UiObject.setText(),可以用来设置文本,可是不知什么缘故Google设计的这个方法只能接收ASCII码,因此直接调用这个方法设置中文当然会错,为此有人专门写了输入法utf7ime专门用来解决这个问题,它是开源的,我们可以在github下载到它的源码https://github.com/sumio/uiautomator-unicode-input-helper
    下面我们来一步步实现让uiautomator支持中文
    1.下载完源码解压,如下图
   
    2.在我们刚才解压的Utf7Ime文件中有个Utf7ImeService.Java,以及jutf7-1.0.0.jar文件找出来,接下创建一个Android应用程序,将刚才找到的jar包添加到自己的工程,Utf7ImeService.java 这类添加到自己的程序中,它是一个服务,保证运行程序时启动这个服务,最后就可以将这个程序安装到自己的手机中了。
    3.uiautomator工程中添加jutf7-1.0.0.jar文件,在解压的helper-library文件中有个Utf7ImeHelper.java文件,将它放到自己uiautomator工程中,最后调用一下Utf7ImeHelper的方法装换一下编码就ok,如下图:
     
   值得注意的是在调用Utf7ImeHelper.e()方法之前,你要将2中的应用在手机上先设置成默认输入法,当然你也可用adb命令设置默认的输入法。
   还有就是Utf7ImeHelper中的harsetEncoder是jutf7-1.0.0.jar中的,别导错包。
   这样uiautomator就可以设置中文了。
作者: 梦想家    时间: 2017-4-7 13:32
图片我看怎么是失败?
作者: xiaomage    时间: 2017-4-7 14:29
梦想家 发表于 2017-4-7 13:32
图片我看怎么是失败?

失败的话劳驾移步这里看一下
http://blog.csdn.net/mtx_03/article/details/50132153




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2