アリュール レポート ツールは、テスト実行ごとに 1 つのレポートを表示するように設計されています。開発者はそれについて私に警告しました。とにかく、この便利なツールがもっと必要です。
- 魅力レポートを月に数日保存することを考えましたか?
- 履歴データを自動的に分析することを考えましたか?
基本的に、質問に対する答えを見つける必要があります: 前月のどのテストが不安定で、安定させる必要がありますか? 残念ながら、メインの Web サイト ( http://allure.qatools.ru/ ) またはインターネットのボックスから回答が見つかりませんでした。
私の解決策:
最初の質問を解決しようとしています: [解決済み]
jenkins CI ツールでアリュール レポートをアーカイブし続けようとしましたが、1500 個の TestNg テストを管理する必要があり、アリュール レポートの生成とアーカイブに約 10 分かかります。これは、パイプラインでは受け入れられません。次に、jenkins スレーブに関するレポートの生成を開始し、次の構造に従ってリモート ボックスに ftp しました: project_type/pipeline_type/suite_type/day/build_number。
私はレポートを btrfs 圧縮を使用して生のプロジェクトとして保存します。これにより、json ファイルを非常に効果的に圧縮でき (ファイルは 5 倍に圧縮されます)、UI からファイルにアクセスできます。
UI は、ファイル システム構造に従う django (単純に大好き) プロジェクトです。
このアプローチにより、データを集約できます。
2 番目の質問を解決しようとしています: [未解決]
suite_type のすべての実行でデータを集計し (上記の構造を参照)、メインの実行または再実行の試行で失敗したテストを見つけ (FailedReporter TestNg リスナーを使用して失敗したテストを 3 回再実行します)、失敗した理由を失敗したテスト。理想的には、失敗したテスト結果を保存されたレポートと照合する必要があります。
例えば:
2 つのレポートがあります。
../パラレルスイート/2015-10-21/560
../パラレルスイート/2015-10-22/584
各スイートは testCreditCard のテストに失敗しました。
- 560 ビルドでテストが失敗しました。理由は、サード パーティのシステムがダウンしていたためです。
- 最初の再実行試行で 584 ビルドでテストが失敗しました - サード パーティのシステムがダウンしており、2 回目の再実行試行で理由がありました - IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck, 3 回目の試行で合格しました。
third party system was down
結果として、エラーは 2 日間で 2 回、2 日間でIndexOutOfBoundsException
1 回であり、2 日目に 3 回目の再実行試行でテストに合格したことを知る必要があります。
誰かがこの方向で働いていますか?