アサーションが失敗したときに実行を続行する方法
-
28-10-2019 - |
質問
EclipseとTestNGフレームワークでJavaを使用するSeleniumRCを使用しています。次のコードスニペットがあります: ジェネラコディセタグプレ
最初のアサーションが失敗し、実行が停止されました。しかし、コードのスニペットをさらに続けたいと思います。
解決
Selenium IDEはverifyを使用してソフトアサーションを実行します。つまり、チェックが失敗してもテストは続行され、テストの終了時またはハードアサーションのイベントで失敗が報告されます。
TestNGを使用すると、カスタムテストリスナーを使用してこれらのソフトアサーションを作成できます。これを行う方法をブログに文書化しました: http://davehunt.co.uk/2009/10/08/using-soft-assertions-in-testng.html
基本的に、独自のverify*
メソッドを作成する必要があります。これらのメソッドでは、アサーションの失敗をキャッチしてマップに追加できます。次に、カスタムのafterInvocation
リスナーで、マップが空でない場合にテストが失敗するように設定できます。
他のヒント
TestNgでネイティブに提供されるソフトアサーションを使用することをお勧めします ジェネラコディセタグプレ
出典: http://rameshbaskar.wordpress.com/2013/09/11 / soft-assertions-using-testng /
アサーションを検証に変更します: ジェネラコディセタグプレ
アサーションの失敗を続行する最も簡単な方法の1つをもう一度追加します。これは
アサーションが失敗すると、実行が停止するはずです。それがアサーションを使用するポイントです。
両方をテストするアサーションを宣言できますが、2つのことを同時にテストします。最初の失敗の原因を修正してから、2番目のアサーションに進むことをお勧めします。