誤ったDocker コンテキストアーカイブのパッケージが原因でCloud Managerでスキップされたカスタム UI テスト用のAEM ソリューション

テストがローカルで実行されているにもかかわらず、Cloud Managerでカスタム UI テストをスキップした場合、生成されたUI テスト Docker コンテキストアーカイブは、アーカイブルートではなく、親ディレクトリ内の必要なファイルにパッケージ化される場合があります。 アーカイブ構造を検証し、Maven アセンブリ設定を更新すると、Cloud Managerでテスト検出が復元されます。

説明 description

環境

Adobe Experience Manager as a Cloud Service

問題/症状

この問題は通常、Cloud Managerが生成されたDocker コンテキストアーカイブでUI テストオプトインファイルを検出できない場合に発生します。

  • カスタム UI テスト手順には、「ソースコードリポジトリにテストが見つからなかったため、UI テストはスキップされました」と同様のメッセージが表示されます。
  • Playwright、Cypress、Selenium、またはその他のサポートされているUI テストはローカルで実行されますが、Cloud ManagerにはUI テストの実行は表示されません。
  • testing.properties ファイルはリポジトリに存在しますが、Cloud Managerはテストをスキップします。
  • UI テストモジュールを構築し、生成された*-ui-test-docker-context.tar.gz ファイル内のtesting.propertiesの保存場所を確認することで、問題を確認できます。 tar -tvf target/*-ui-test-docker-context.tar.gz | grep testing.propertiesを実行します。 結果にtesting.propertiesではなくsome-folder/testing.propertiesなどのパスが表示された場合、アーカイブは正しくパッケージ化されません。
  • また、UI テストモジュールのpom.xml ファイルの横にtesting.propertiesが保存され、正確にui-tests.version=1が含まれていることを確認して、設定を確認することもできます。

解決策 resolution

問題を解決するには、次の手順を試してください。

  1. パイプラインがUI テストモジュールに正しいGit ブランチを使用していることを確認します。 パイプラインでは、ui.tests モジュールとtesting.propertiesを含むブランチを使用する必要があります。 パイプライン設定と次のパイプライン実行サマリーで、これを確認します。
  2. UI テストモジュール pom.xml ファイルの横にtesting.propertiesが存在し、正確にui-tests.version=1が含まれていることを確認してください。 必要な値を持つ正しいモジュールにファイルが表示されます。 リポジトリで直接確認します。
  3. Docker コンテキストアーカイブが生成されるように、UI テストモジュールをローカルにビルドします。 モジュール target ディレクトリの-ui-test-docker-context.tar.gzで終わるファイルが表示されます。 生成されたアーカイブでui-test-docker-context分類子が使用されていることを確認します。
  4. 生成されたアーカイブを調べ、tar -tvf target/*-ui-test-docker-context.tar.gz | grep testing.propertiesを実行して、testing.propertiesがアーカイブ ルートに保存されているかどうかを確認します。 親フォルダーのプレフィックスを含まないtesting.propertiesのみが表示されます。 出力にsome-folder/testing.propertiesなどのパスが表示されている場合、アーカイブは正しくパッケージ化されません。 次のステップに進みます。
  5. Docker コンテキストがアーカイブ ルートにパッケージ化されるように、assembly-ui-test-docker-context.xmlを更新します。 アセンブリが<includeBaseDirectory>false</includeBaseDirectory>を保持し、testing.propertiesDockerfilewait-for-grid.shなどのルート レベル ファイルに含まれていることを確認してください。 ラッパーディレクトリ内ではなく、アーカイブの最上位レベルに保存されている必要なファイルが表示されます。 モジュールを再構築し、testing.propertiesがルートに表示されるまでアーカイブ検査を繰り返して、これを確認します。
  6. パッケージングの変更をコミットし、パイプラインで使用されるブランチにプッシュして、パイプラインを再度実行します。 スキップメッセージを表示する代わりに、Custom UI Testing ステップを実行する必要があります。 パイプライン実行の詳細でこれを確認し、UI テストログが使用可能であることを確認します。
  7. これでテストが検出されたが、実行中に失敗した場合は、パイプライン実行のUI テストログを確認し、テストまたはフレームワーク固有のエラーを修正します。 Cloud Managerは、テストイメージを正常に検出して実行する必要があります。 パイプラインに、スキップされたステップではなく実際のUI テスト実行が表示されていることを確認して、これを確認します。

次の現象が発生し、トラブルシューティング手順で次の結果が得られた場合は、Adobe サポート ​にチケットを送信します。アーカイブにtesting.propertiesがルートで表示され、パイプラインは正しいブランチを使用しており、Cloud ManagerはまだUI テストが見つからないというレポートが表示されます。

サポートに連絡する際に、アーカイブのリスト、assembly-ui-test-docker-context.xml ファイル、UI テストモジュール pom.xmlおよびパイプライン実行URLを含めます。

recommendation-more-help
experience-cloud-kcs-help-kbarticles