4

私はWebDriverとTestNGフレームワークにまったく慣れていません。私はeコマースウェブサイトの回帰テストを行うプロジェクトから始めました。ログインや登録などが完了しました。でも、よくわからないことがあります。

たとえば、製品を検索するこの簡単なコードがあります。

driver.get(url + "/k/k.aspx");
driver.findElement(By.id("q")).clear();
driver.findElement(By.id("q")).sendKeys("xxxx"); //TODO: Make this dynamic
driver.findElement(By.cssSelector("input.submit")).click();

次に、ページにxxxxが表示されているかどうかを確認します。これはで行うことができます

webdriver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*xxxxxx[\\s\\S]*$")

これをブール値で格納し、真か偽かを確認します。

ここで、このブール値に基づいて、テスト結果が成功または失敗であると言いたいと思います。どうやってやるの?testNGテストが失敗するきっかけは何ですか?

4

5 に答える 5

5

TestNGまたはその他のテストツールは、アサーションに基づいてテストの成功または失敗を判断します。

Assert.assertEquals(actualVal, expectedVal);

したがって、actualValexpectedValが同じである場合、テストは合格し、そうでない場合は失敗します。

同様に、EclipseなどのIDEを使用している場合は、他のアサーションオプションがあります。

于 2012-12-07T14:45:26.837 に答える
3

そのテキスト値の検証に基づいてテストの実行を停止する場合は、Assertsを使用できます。ただし、テストの結果を失敗としてログに記録して続行する場合は、ソフトアサーションを使用してみてください。これにより、検証が合格または失敗としてログに記録され、テストが続行されます。最新のTestngはこれを処理するために装備されています-Cedricのブログの情報

于 2012-12-07T14:55:42.710 に答える
0

if条件が失敗する場所にこのコードを記述します

throw new RuntimeException("XXXX not found: ");
于 2012-12-07T14:38:30.513 に答える
0

uはthrowexceptionを使用でき、このmethを計算する各メソッドは、メソッド名の後にExcetionもスローする必要があります。または、trycatchを使用できます。サンプル:

protected Boolean AssertIsCorrectURL(String exedctedURL) throws Exception {

String errMsg = String.format("Actual URL page: '%s'. Expected URL page: '%s'",
this.driver.getCurrentUrl(), exedctedURL);
throw new Exception(errMsg);
}
于 2014-03-25T10:17:13.557 に答える
0

あなたはこれを行うことができます。

boolean result = webdriver.findElement(By.cssSelector( "BODY"))。getText()。matches( "^ [\ s \ S] xxxxxx [\ s \ S] $")Assert.assertTrue(result);

于 2020-03-13T03:36:27.423 に答える