之前一直是英文的测试环境,包括手机也是英文的,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
Utf7Imeproject and install it on your Android-powered device (or emulator) for UI testing. - Launch
SettingsApp in the device. - Open
Language & input. - Switch on the
UTF7 IME for UI Testingcheckbox belonging toKEYBOARD & INPUT METHODScategory. - Tap
Defaultbelonging toKEYBOARD & INPUT METHODScategory. - 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