对 Device Farm 中的 Appium Java JUnit 测试进行故障排除 AWS - AWS Device Farm

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对 Device Farm 中的 Appium Java JUnit 测试进行故障排除 AWS

以下主题列出了在上传 Appium Java JUnit 测试期间出现的错误消息,并推荐了解决每个错误的解决方法。

注意

以下说明基于 Linux x86_64 和 Mac。

APPIUM_JAVA_JUNIT_TEST_PACKAGE_PACKAGE_UNZIP_FAILED

如果您看到以下消息,请执行以下步骤来修复此问题。

警告

我们无法打开您的测试ZIP文件。请验证文件是否有效,然后重试。

确保您可以解压测试程序包,而不会出现错误。在以下示例中,软件包的名称为 zip-with-dependencies.zip。

  1. 将您的测试程序包复制到工作目录,然后运行以下命令:

    $ unzip zip-with-dependencies.zip
  2. 成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:

    $ tree .

    有效的 Appium Java JUnit 包应生成如下所示的输出:

    . |— acme-android-appium-1.0-SNAPSHOT.jar (this is the JAR containing everything built from the ./src/main directory) |— acme-android-appium-1.0-SNAPSHOT-tests.jar (this is the JAR containing everything built from the ./src/test directory) |— zip-with-dependencies.zip (this .zip file contains all of the items) `— dependency-jars (this is the directory that contains all of your dependencies, built as JAR files) |— com.some-dependency.bar-4.1.jar |— com.another-dependency.thing-1.0.jar |— joda-time-2.7.jar `— log4j-1.2.14.jar

    有关更多信息,请参阅 Appium 测试和 AWS Device Farm

APPIUM_JAVA_JUNIT_TEST_PACKAGE_DEPENDENCY_DIR_MISSING

如果您看到以下消息,请执行以下步骤来修复此问题。

警告

我们无法在您的测试程序包中找到 dependency-jars 目录。请解压缩您的测试程序包,验证 dependency-jars 目录位于该程序包中,然后重试。

在以下示例中,软件包的名称为 zip-with-dependencies.zip。

  1. 将您的测试程序包复制到工作目录,然后运行以下命令:

    $ unzip zip-with-dependencies.zip
  2. 成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:

    $ tree .

    如果 Appium Java JUnit 软件包有效,你会发现 dependency-jars 工作目录内的目录:

    . |— acme-android-appium-1.0-SNAPSHOT.jar (this is the JAR containing everything built from the ./src/main directory) |— acme-android-appium-1.0-SNAPSHOT-tests.jar (this is the JAR containing everything built from the ./src/test directory) |— zip-with-dependencies.zip (this .zip file contains all of the items) `— dependency-jars (this is the directory that contains all of your dependencies, built as JAR files) |— com.some-dependency.bar-4.1.jar |— com.another-dependency.thing-1.0.jar |— joda-time-2.7.jar `— log4j-1.2.14.jar

    有关更多信息,请参阅 Appium 测试和 AWS Device Farm

APPIUM_ JAVA _ _ JUNIT _ TEST _ PACKAGE JAR _ MISSING _IN DEPENDENCY _ _ DIR

如果您看到以下消息,请执行以下步骤来修复此问题。

警告

我们在 dependency-jars 目录树中找不到JAR文件。请解压缩您的测试包,然后打开 dependency-jars 目录,确认该目录中至少有一个JAR文件,然后重试。

在以下示例中,软件包的名称为 zip-with-dependencies.zip。

  1. 将您的测试程序包复制到工作目录,然后运行以下命令:

    $ unzip zip-with-dependencies.zip
  2. 成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:

    $ tree .

    如果 Appium Java JUnit 软件包有效,你会发现至少一个 jar 里面的文件 dependency-jars 目录:

    . |— acme-android-appium-1.0-SNAPSHOT.jar (this is the JAR containing everything built from the ./src/main directory) |— acme-android-appium-1.0-SNAPSHOT-tests.jar (this is the JAR containing everything built from the ./src/test directory) |— zip-with-dependencies.zip (this .zip file contains all of the items) `— dependency-jars (this is the directory that contains all of your dependencies, built as JAR files) |— com.some-dependency.bar-4.1.jar |— com.another-dependency.thing-1.0.jar |— joda-time-2.7.jar `— log4j-1.2.14.jar

    有关更多信息,请参阅 Appium 测试和 AWS Device Farm

APPIUM_JAVA_JUNIT_TEST_PACKAGE_TESTS_JAR_FILE_MISSING

如果您看到以下消息,请执行以下步骤来修复此问题。

警告

我们无法在您的测试程序包中找到 *-tests.jar 文件。请解压缩您的测试程序包,验证至少有一个 *-tests.jar 文件位于该程序包中,然后重试。

在以下示例中,软件包的名称为 zip-with-dependencies.zip。

  1. 将您的测试程序包复制到工作目录,然后运行以下命令:

    $ unzip zip-with-dependencies.zip
  2. 成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:

    $ tree .

    如果 Appium Java JUnit 软件包有效,你会发现至少一个 jar 像这样的文件 acme-android-appium-1.0-SNAPSHOT-tests.jar 在我们的例子中。文件名可能有所不同,但其结尾应为 –tests.jar.

    . |— acme-android-appium-1.0-SNAPSHOT.jar (this is the JAR containing everything built from the ./src/main directory) |— acme-android-appium-1.0-SNAPSHOT-tests.jar (this is the JAR containing everything built from the ./src/test directory) |— zip-with-dependencies.zip (this .zip file contains all of the items) `— dependency-jars (this is the directory that contains all of your dependencies, built as JAR files) |— com.some-dependency.bar-4.1.jar |— com.another-dependency.thing-1.0.jar |— joda-time-2.7.jar `— log4j-1.2.14.jar

    有关更多信息,请参阅 Appium 测试和 AWS Device Farm

APPIUM_ JAVA _ _ JUNIT _ TEST _ PACKAGE _ CLASS _ MISSING _IN FILE TESTS _ _ JAR

如果您看到以下消息,请执行以下步骤来修复此问题。

警告

我们在测试文件中找不到类JAR文件。请解压缩您的测试包,然后解压缩测试JAR文件,确认文件中至少有一个类JAR文件,然后重试。

在以下示例中,软件包的名称为 zip-with-dependencies.zip。

  1. 将您的测试程序包复制到工作目录,然后运行以下命令:

    $ unzip zip-with-dependencies.zip
  2. 成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:

    $ tree .

    你应该至少找到一个 jar 文件,比如 acme-android-appium-1.0-SNAPSHOT-tests.jar 在我们的例子中。文件名可能有所不同,但其结尾应为 –tests.jar.

    . |— acme-android-appium-1.0-SNAPSHOT.jar (this is the JAR containing everything built from the ./src/main directory) |— acme-android-appium-1.0-SNAPSHOT-tests.jar (this is the JAR containing everything built from the ./src/test directory) |— zip-with-dependencies.zip (this .zip file contains all of the items) `— dependency-jars (this is the directory that contains all of your dependencies, built as JAR files) |— com.some-dependency.bar-4.1.jar |— com.another-dependency.thing-1.0.jar |— joda-time-2.7.jar `— log4j-1.2.14.jar
  3. 成功提取文件后,您应通过运行以下命令在工作目录树中至少找到一个类:

    $ tree .

    您应看到类似如下的输出:

    . |— acme-android-appium-1.0-SNAPSHOT.jar (this is the JAR containing everything built from the ./src/main directory) |— acme-android-appium-1.0-SNAPSHOT-tests.jar (this is the JAR containing everything built from the ./src/test directory) |- one-class-file.class |- folder | `-another-class-file.class |— zip-with-dependencies.zip (this .zip file contains all of the items) `— dependency-jars (this is the directory that contains all of your dependencies, built as JAR files) |— com.some-dependency.bar-4.1.jar |— com.another-dependency.thing-1.0.jar |— joda-time-2.7.jar `— log4j-1.2.14.jar

    有关更多信息,请参阅 Appium 测试和 AWS Device Farm

APPIUM_JAVA_JUNIT_TEST_PACKAGE_JUNIT_VERSION_VALUE_UNKNOWN

如果您看到以下消息,请执行以下步骤来修复此问题。

警告

我们找不到JUnit版本值。请解压缩您的测试包并打开 dependency-jars 目录,确认该JUnitJAR文件位于该目录中,然后重试。

在以下示例中,软件包的名称为 zip-with-dependencies.zip。

  1. 将您的测试程序包复制到工作目录,然后运行以下命令:

    $ unzip zip-with-dependencies.zip
  2. 成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:

    tree .

    输出应该如下所示:

    . |— acme-android-appium-1.0-SNAPSHOT.jar (this is the JAR containing everything built from the ./src/main directory) |— acme-android-appium-1.0-SNAPSHOT-tests.jar (this is the JAR containing everything built from the ./src/test directory) |— zip-with-dependencies.zip (this .zip file contains all of the items) `— dependency-jars (this is the directory that contains all of your dependencies, built as JAR files) |— junit-4.10.jar |— com.some-dependency.bar-4.1.jar |— com.another-dependency.thing-1.0.jar |— joda-time-2.7.jar `— log4j-1.2.14.jar

    如果 Appium Java JUnit 包有效,你会发现与 jar 文件类似的JUnit依赖文件 junit-4.10.jar 在我们的例子中。名称应包含关键字 junit 及其版本号,在本例中为 4.10。

    有关更多信息,请参阅 Appium 测试和 AWS Device Farm

APPIUM_JAVA_JUNIT_TEST_PACKAGE_INVALID_JUNIT_VERSION

如果您看到以下消息,请执行以下步骤来修复此问题。

警告

我们发现该JUnit版本低于我们支持的最低版本 4.10。请更改JUnit版本并重试。

在以下示例中,软件包的名称为 zip-with-dependencies.zip。

  1. 将您的测试程序包复制到工作目录,然后运行以下命令:

    $ unzip zip-with-dependencies.zip
  2. 成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:

    $ tree .

    你应该找到一个JUnit依赖文件,比如 junit-4.10.jar 在我们的示例及其版本号中,在我们的示例中为 4.10:

    . |— acme-android-appium-1.0-SNAPSHOT.jar (this is the JAR containing everything built from the ./src/main directory) |— acme-android-appium-1.0-SNAPSHOT-tests.jar (this is the JAR containing everything built from the ./src/test directory) |— zip-with-dependencies.zip (this .zip file contains all of the items) `— dependency-jars (this is the directory that contains all of your dependencies, built as JAR files) |— junit-4.10.jar |— com.some-dependency.bar-4.1.jar |— com.another-dependency.thing-1.0.jar |— joda-time-2.7.jar `— log4j-1.2.14.jar
    注意

    如果您的测试包中指定的JUnit版本低于我们支持的最低版本 4.10,则您的测试可能无法正确执行。

    有关更多信息,请参阅 Appium 测试和 AWS Device Farm