17

私はEclipseとTestNGフレームワークでJavaを使用してSelenium RCを使用しています。次のコード スニペットがあります。

assertTrue(selenium.isTextPresent("Please enter Email ID"));
assertTrue(selenium.isTextPresent("Please enter Password"));

最初のアサーションが失敗し、実行が停止しました。しかし、コードのスニペットをさらに続けたいと思います。

4

5 に答える 5

8

Selenium IDE は検証を使用してソフト アサーションを実行します。つまり、チェックが失敗してもテストは続行され、テストの最後またはハード アサーションのイベントで失敗が報告されます。

TestNG では、カスタム テスト リスナーを使用してこれらのソフト アサーションを取得できます。ブログでこれを行う方法を文書化しました: http://davehunt.co.uk/2009/10/08/using-soft-assertions-in-testng.html

基本的に、独自のメソッドを作成する必要があります。verify*これらのメソッドでは、アサーションの失敗をキャッチしてマップに追加できます。次に、カスタムafterInvocationリスナーで、マップが空でない場合にテストを失敗に設定できます。

于 2011-03-23T13:26:51.800 に答える
5

アサーションを検証に変更します。

verifyTrue(selenium.isTextPresent("Please enter Email ID"));
verifyTrue(selenium.isTextPresent("Please enter Password"));
于 2011-03-23T13:25:14.263 に答える
1

アサーションが失敗すると、実行が停止するはずです。それがそれらを使用するポイントです。

両方をテストするアサーションを宣言できますが、一度に 2 つのことをテストすることになります。最初の失敗の原因を修正してから、2 番目のアサーションに進むことをお勧めします。

于 2011-03-23T08:18:13.203 に答える