1

Thucydides を使用して自動テストを実行すると、断続的な問題が発生します。

結果: 警告 net.thucydides.core.model.Screenshot@82df887 のスケーリングされたスクリーンショットの書き込みに失敗しました: {} java.io.IOException: 'target/site/thucydides/2a645999ca0b3b04597680646ce26149_NONE.png' から 'target/サイト/thucydides/scaled_2a645999ca0b3b04597680646ce26149_NONE.png'

私が実行するコマンドは次のようなものです: mvn -Dit.test=MyTestClass verify

@Steps、@StepGroup、@WithTag、および @Story アノテーションに関して、Thucydides 構造の多くを使用しています。

1 つのテストだけでなく、複数のテストを実行すると、このエラーが発生するようです。

thucydides.keep.unscaled.screenshots で遊んでも違いはありません。

Google グループに投稿された他の関連する問題を1 つだけ見つけましたが、解決策はありません (2014 年 11 月 6 日現在)。

私の構成設定:

  • OS: Mac OSX Yosemite (10.10) (10.9 でも発生)
  • mvn: Apache Maven 3.1.1
  • Java: 1.7.0_51
  • ツキディド: 0.9.273 (0.9.275 も失敗)
  • セレン: 2.42.2 -
  • ブラウザ: FireFox v28 (27 と 31 で同じ問題を試しました。Chrome 38、Safari 7.1 はすべて同様または同一の問題を示しているようです)

どんなポインタでも大歓迎です。ここで関連する問題として、mvn コマンド ラインで thucydides:aggregate をタグ付けすると、上記のように失敗すると、Thucydides は index.html ファイルを生成しません。

4

1 に答える 1

0

これは、スクリーンショットの管理方法に問題があるようです。なぜこれが起こるのかについての作業理論 (Thucydides の著者によって未確認) は、スクリーンショットを再利用することで時間とスペースを節約する Thucydides の戦略に根ざしているようです。どうやら、レポートエンジンはスクリーンショットを撮ったり、スケーリングを行ったり、ファイルを再保存したりします...別のテストと同じ md5 スクリーンショットを持つ 2 番目のテストが行​​われると、それを再利用しようとします。ただし、何らかの理由でそのファイルが使用できない場合 (ロックまたは存在しないなどの理由で...)、このエラーが表示されることがあります。
この疑いを確認するために、こちらの手順から作成されたサンプルのトゥキディデス アプリを使用しました。

テストの1つを複製し(テストメソッドをコピーし、名前を少し変更します)、「検証」を実行しました。案の定、問題を再現できました。

于 2014-11-21T22:55:00.117 に答える