Android uiautomator测试用例JAR文件不起作用



我一直在尝试使用uiautomator工具编写一些仪器测试案例。该测试用例可以通过Android Studio毫无问题地通过Android Studio运行。但是现在,我想将此测试用例安装到设备中作为JAR文件,并且需要通过命令行运行。我尝试了以下链接来构建和部署uiautomator测试:

https://stuff.mit.edu/afs/sipb/project/android/docs/tools/tools/testing/testing_ui.html#creating

build.xml是生成的,但是当执行命令" ant构建"时,会显示错误:

 Android/Sdk/tools/ant/uibuild.xml:198: null returned: 1

之后,我尝试使用gradle build创建JAR文件而不是使用此链接来创建ANT构建工具

http://wiliamsouza.github.io/#/2013/10/10/10/android-uiautomator-gradle-build-build-system

我已经从项目目录和输出中运行了" gradle build"命令;

 Building dex...
 :compileJava UP-TO-DATE
 :processResources UP-TO-DATE
 :classes UP-TO-DATE
 :jar
 :assemble
 :compileTestJava UP-TO-DATE
 :processTestResources UP-TO-DATE
 :testClasses UP-TO-DATE
 :test
 :check
 :build
 BUILD SUCCESSFUL
 Total time: 7.709 secs

但是在" DIST"文件夹中没有找到JAR文件。在已安装的JAR文件中,在build/libs文件夹中找到了

adb push sample-0.1.jar /data/local/tmp/

然后尝试使用命令

运行测试用例
 adb shell uiautomator runtest sample-0.1.jar -c com.test.uiautomator.sample.Sample

,但显示出错误为:

   INSTRUMENTATION_RESULT: shortMsg=java.lang.RuntimeException
   INSTRUMENTATION_RESULT: longMsg=Didn't find 
   class"com.test.uiautomator.sample.Sample" 
   on path: DexPathList[[zip 
   file"/system/framework/android.test.runner.jar",
   zip file"/system/framework/uiautomator.jar", 
   zip file"/data/local/tmp/sample-0.1.jar"],
   nativeLibraryDirectories=[/vendor/lib, /system/lib]]
   INSTRUMENTATION_CODE: 0

有人对此有任何想法吗?

有解决方案!

实际上我的要求是通过命令行运行仪器测试用例(我的情况下),为此目的,不必生成测试类的JAR文件并将其安装到设备上,而是我们可以创建单独的APK测试案例包装的文件,并以与安装应用程序APK文件相同的方式安装它们。然后运行用于执行测试用例的ADB命令。请检查以下链接,其中具有详细说明。

https://developer.android.com/studio/test/command-line.html#runtestscommand

最新更新