51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1667|回复: 3
打印 上一主题 下一主题

uiautomator解决设置中文问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-4-7 11:24:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我们知道通过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就可以设置中文了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情

    2024-7-8 09:00
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]测试总司令

    2#
    发表于 2017-4-7 13:32:34 | 只看该作者
    图片我看怎么是失败?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2017-4-7 14:29:20 | 只看该作者
    梦想家 发表于 2017-4-7 13:32
    图片我看怎么是失败?

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

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-21 22:20 , Processed in 0.064885 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表