私はEclipseとTestNGフレームワークでJavaを使用してSelenium RCを使用しています。次のコード スニペットがあります。
assertTrue(selenium.isTextPresent("Please enter Email ID"));
assertTrue(selenium.isTextPresent("Please enter Password"));
最初のアサーションが失敗し、実行が停止しました。しかし、コードのスニペットをさらに続けたいと思います。
私はEclipseとTestNGフレームワークでJavaを使用してSelenium RCを使用しています。次のコード スニペットがあります。
assertTrue(selenium.isTextPresent("Please enter Email ID"));
assertTrue(selenium.isTextPresent("Please enter Password"));
最初のアサーションが失敗し、実行が停止しました。しかし、コードのスニペットをさらに続けたいと思います。
Selenium IDE は検証を使用してソフト アサーションを実行します。つまり、チェックが失敗してもテストは続行され、テストの最後またはハード アサーションのイベントで失敗が報告されます。
TestNG では、カスタム テスト リスナーを使用してこれらのソフト アサーションを取得できます。ブログでこれを行う方法を文書化しました: http://davehunt.co.uk/2009/10/08/using-soft-assertions-in-testng.html
基本的に、独自のメソッドを作成する必要があります。verify*
これらのメソッドでは、アサーションの失敗をキャッチしてマップに追加できます。次に、カスタムafterInvocation
リスナーで、マップが空でない場合にテストを失敗に設定できます。
アサーションを検証に変更します。
verifyTrue(selenium.isTextPresent("Please enter Email ID"));
verifyTrue(selenium.isTextPresent("Please enter Password"));
アサーションが失敗すると、実行が停止するはずです。それがそれらを使用するポイントです。
両方をテストするアサーションを宣言できますが、一度に 2 つのことをテストすることになります。最初の失敗の原因を修正してから、2 番目のアサーションに進むことをお勧めします。