Uiautomator配置及常见问题

1.JAVA环境、Android环境、Ant环境已配置完成(JAVA_HOME,ANDROID_HOME,ANT_HOME)。

2.创建新的Java项目(注意不是Android项目)。在该项目中来创建测试代码。

3.在Project Explorer视图中,右键点击测试项目,选择“ Properties > Java Build Path”,然后选择“Libraries” tab界面。在“Libraries”界面选择“ Add Library > JUnit”来添加JUnit3 库。然后点击“Add External JARs… ”并导航到Android SDK目录。选择platforms目录下面的 uiautomator.jar 和 android.jar文件(版本需要与模拟器中的版本一致)。

4.编写测试代码。(项目编码方式更改为utf-8)

5.命令行进入到eclipse该项目路径下。输入命令:android create uitest-project -n <name> -t 1 -p <path>

  <name>是包含测试代码的项目名称,<path>是包含测试代码的项目文件路径(绝对路径)。-t后面的1是Android sdk版本id。

  查看id号命令:android list target。选择与SDK中 android.jar版本对应的id。

6.该项目路径下,命令行运行:ant build   (ant如果提示版本问题,需要更新ant。jdk1.8版本需要ant1.9.4支持)

7.通过adb push命令把上一步打包出来的jar文件复制到测试手机中。

  adb push bin/<name>.jar  data/local/tmp

  <name>.jar即是上一步ant build编译生成的jar包。

8.运行uiautomator 测试。

  adb shell uiautomator runtest <name>.jar -c <类名>

  <name>.jar即是上一步push到 data/local/tmp中的jar包。类名为编写的测试代码中继承UiAutomatorTestCase的类,注意要加上完整包名(如com.soufun.zf.testcase)。

 

常见问题:

1.ant build时报ant相关的版本问题(如:batch_build.xml  Class not found: javac1.8),需升级本地ant版本。

  升级方法:

  a.进入http://ant.apache.org/bindownload.cgi下载新版本的Ant(一定要下载bin版本程序),下载之后解压。

    b.进入你eclipse下的插件路径找出Ant插件,如我的就是D:\Android\eclipse\plugins\org.apache.ant_1.8.4.v201303080030,打开该路径,将Ant新版本解压出来的文件替换到该目录下,不过要保留META-INF目录 和plugin.properties文件。

  c.通过cmd进入该插件的位置之后运行ant -version可以查看到ant的版本号,更新成功会显示新的版本号。

      d.重启eclipse,之后用ant打包就能正常兼容jdk1.8了。(命令行运行需重新打开命令行窗口)

2.ant build时报:cannot find symbol、package does not exist、NoClassDefFoundError这类错误。

  解决方法:

  a.确认uiautomator.jar、android.jar、junit.jar及其他使用到的第三方库均已加入到项目中。

  b.加入库的uiautomator.jar、android.jar包版本与虚拟机系统版本、第5步android create uitest-project -n <name> -t 1 -p <path>命令中的-t版本一致。

3.第8步运行脚本时,报无法找到类(ClassNotFound)的错误。

  解决方法:

  adb shell uiautomator runtest <name>.jar -c <类名>中的类名为加上包名的完整类名(如com.soufun.zf.testcase)。

4.无法识别text属性为中文的控件。

  解决方法:

  eclipse编码改为utf-8,重新打包。手机端环境设置为英文。尽量使用英文输出。

5.运行到:INSTRUMENTATION_STATUS_CODE: -1,测试结束,未执行代码。

  解决方法:

  检查测试方法名首字母是否为大写。只支持首字母为小写的方法执行。

6.命令行窗口输出中文为乱码情况。

  解决方法:

  DOS命令行下使用chcp命令切换为UTF-8编码(utf8:chcp 65001,GBK:chcp 936,US English:chcp 437),标题栏右键,选择“属性-字体”,修改为“Lucida Console”,调整窗格大小后即可。(比较麻烦,仅用作查看text为中文控件的参考吧。print类的提示使用英文即可。)

你可能感兴趣的:(auto)