Android UiAutomator 测试用例 jar 文件不工作

Android UiAutomator test case jar file is not working

我一直在尝试使用 UiAutomator 工具编写一些 android 代码的工具测试用例。这个测试用例可以通过 android studio 运行 没有任何问题。但现在我想将这个测试用例作为 jar 文件安装到设备中,需要通过命令行 运行。我尝试了以下 link 来构建和部署 uiautomator 测试:

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

生成

build.xml 但是当执行命令 "ant build" 时显示错误:

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

之后,我尝试使用 gradle 构建而不是使用此 link

的 ant 构建工具来创建 jar 文件

http://wiliamsouza.github.io/#/2013/10/30/android-uiautomator-gradle-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 文件。在 build/libs 文件夹中找到已安装的 jar 文件,

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

有人对此有任何想法吗..我如何创建我的 uiautomator 测试用例的 jar 文件以及如何通过命令行 运行 它们..?

找到解决方案了!!!

实际上我的要求是通过命令行 运行 工具测试用例(在我的例子中是 UiAutomator),为此不需要生成测试的 jar 文件 类 并安装它们到设备,而不是我们可以创建测试用例包的单独 apk 文件,并以与安装应用程序 apk 文件相同的方式安装它们。然后 运行 用于执行测试用例的 adb 命令。请查看下面的link,其中有详细的解释。

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