AWS Device Farm 用の Appium Java TestNG テストパッケージの *-tests.jar ファイルのルートに testng.xml ファイルを追加するにはどうすればよいですか?

所要時間2分
0

AWS Device Farm プロジェクトに Appium Java TestNG テストを設定したいと考えています。ただし、最初に Appium テストパッケージの *-tests.jar ファイルのルートに testng.xml ファイルを追加する必要があります。どうすればよいですか?

簡単な説明

testng.xml ファイルを Appium テストパッケージ*-tests.jar ファイルのルートにパッケージ化するように Apache Maven pom.xml ファイルを設定します。

注: Device Farm の標準テスト環境では、testng.xml ファイル内の機能のサブセットのみがサポートされています。プロジェクトで次のいずれかの testng.xml ファイル機能が必要な場合は、カスタムテスト環境を使用します。

  • 優先度
  • 「include」「exclude」 のタグ
  • 複雑なグループ化
  • testng.xml ファイルで定義されている TestNG パラメータ

解決方法

1.    Apache Maven pom.xml ファイルで、testResources タグに src/test/resources というディレクトリが含まれていることを確認します。ディレクトリが表示されない場合は、次のディレクトリ設定をファイルに追加します。

<testResources>
     <testResource>
        <directory>${project.basedir}/src/test/resources</directory>
     </testResource>
</testResources>

注: この手順に使用する別のディレクトリを指定することもできます。別のディレクトリを使用する場合は、ステップ 2 と 3 で必ず同じディレクトリを使用してください。

2.    testng.xml ファイルを pom.xml ファイルの src/test/resources ディレクトリに追加します。

3.    (オプション) ローカルでテストを実行するには、次の Maven Surefire プラグインpom.xml ファイルの <plugins> リストに追加します。

<plugin>
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.12.4</version> 
    <configuration>
       <suiteXmlFiles> <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile></suiteXmlFiles>
    </configuration>
</plugin>

注: プロジェクトを Device Farm にアップロードする前にローカルでテストを実行するのがベストプラクティスです。Maven Surefire プラグインは、pom.xml ファイルがローカルテスト中に testng.xml ファイルを参照することを許可します。

4.    次の Maven コマンドを実行して、pom.xml ファイルの target ディレクトリをクリーンアップし、テストファイルを再パッケージ化します。

$ mvn clean package -DskipTests=true

注: DskipTests=True の値は、ビルドがユニットテストを実行しないことを指定します。

このコマンドは、pom.xml ファイルの target ディレクトリに zip-with-dependencies.zip ファイルを作成します。この zip ファイルは Appium テストパッケージであり、*-tests.jar ファイルのルートに testng.xml ファイルを含めます。

5.    次のいずれかのコマンドを実行して、testng.xml ファイルが Appium テストパッケージの *-tests.jar ファイルのルートにあることを確認します。

*-tests.jar ファイル内のファイルのスナップショットを表示するには、次の jar コマンドを実行します。

$ jar tvf foo-1.0.0-SNAPSHOT-tests.jar
  • または -

*-tests.jar ファイル内のすべてのファイルをフォルダに抽出するには、次の unzip コマンドを実行します。

$ unzip foo-1.0.0-SNAPSHOT-tests.jar -d sampletestsjarcontents

これで、テストパッケージを Device Farm にアップロードし、アプリケーションと zip-with-dependencies.zip ファイルを使用してテスト実行を作成できます。


関連情報

Troubleshooting Appium Java TestNG web applications in AWS Device Farm

Working with custom test environments in AWS Device Farm

AWS公式
AWS公式更新しました 2年前
コメントはありません