之前一直是英文的测试环境,包括手机也是英文的,app也是英文的,涉及不到中文输入法的东西。但现在在写中文的app,所以需要输入中文。看到网上的解决办法如下:
下载https://github.com/sumio/uiautomator-unicode-input-helper源码
Install Utf7Ime and change the default IME
- Import
Utf7Ime/
directory into your Eclipse workspace. You can import byFile -> Import... -> Existing Android Code Into Workspace
. - Build
Utf7Ime
project and install it on your Android-powered device (or emulator) for UI testing. - Launch
Settings
App in the device. - Open
Language & input
. - Switch on the
UTF7 IME for UI Testing
checkbox belonging toKEYBOARD & INPUT METHODS
category. - Tap
Default
belonging toKEYBOARD & INPUT METHODS
category. - Change the default IME to Utf7Ime by selecting
UTF7 IME for UI Testing
.
Copy the helper library to your Uiautomator project
Copy helper-library/src/*
to <your uiaotomator project>/src/
.
大意是下载之后将Utf7Ime工程导入到eclipse中,之后build android工程,生成Utf7Ime.apk,安装到测试机中,并把手机语言设置成为“UTF7 IME for UI Testing”;
把helper-library/src/*下的源码复制到你的UIAutomator测试工程的/src/里。
我这边也是按照这个来的,只是把Utf7ImeHelper.e()封装到了commonHelper.java文件中,之后调用:
然后就可以输入中文了。
但是这里有个问题:输入中文之后,点击enter键,执行搜索,但在当前的UTF7 IME for UI Testing输入法下是没有键盘的出现的,所以无法点击enter键。
为了解决这个问题,我想到的解决方案是:想输入中文时,就把输入法改成UTF7 IME for UI Testing,输入完之后,再把输入法修改回来,这样键盘又弹出来了,之后再点击enter键,这样就能实现搜索。
那就有另一个问题,如何实现快速切换输入法:http://www.cnblogs.com/yajing-zh/p/5125317.html