アサーションは、アプリケーションの状態が予期したものと同じであるかどうかを決定します。アサーションが失敗した場合、テスト ケースは失敗し、実行が停止します。
Web ドライバーでアサーションを使用するには、Testng jar ファイルをダウンロードして Eclipse に追加する必要があります。以下のリンクから Testng jar ファイルをダウンロードします。
https://mvnrepository.com/artifact/org.testng/testng/6.7アサーションには 2 つのタイプがあります。
- ハードアサーション
- ソフトアサーション
ハードアサーション
ハード アサーションは、 アサート例外 テストケースが失敗したとき。ハード アサーションの場合は、Java 例外と同様に catch ブロックを使用してエラーを処理できます。スイート内に 2 つのテスト ケースがあるとします。スイート内の最初のテスト ケースには失敗するアサーションがあり、スーツ内の 2 番目のテスト ケースを実行したい場合は、アサーション エラーを処理する必要があります。ハード アサーションには次のメソッドが含まれます。
- AssertEquals
- AssertNotEquals
- AssertTrue
- AssertFalse
- AssertNull
- AssertNotNull
AssertFalse()
アサーションは、条件によって返されるブール値を検証します。ブール値が false の場合、アサーションはテスト ケースを通過し、ブール値が true の場合、アサーションは例外によってテスト ケースを中止します。 AssertFalse() メソッドの構文は次のとおりです。
Assert.AssertFalse(condition);
例を通して理解しましょう:
package mypack; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver','C:\work\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.navigate().to('https://www.spicejet.com/'); Assert.assertFalse(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); System.out.println(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); } }
上記のコードでは、Assert.assertFalse() に false 値を返す条件が含まれています。したがって、テストケースに合格します。
コンソールへの出力
階乗Java
package mypack; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver','C:\work\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.navigate().to('https://www.spicejet.com/'); Assert.assertFalse(true); System.out.println(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); }}
上記のコードでは、Assert.assertFalse() メソッドに true 条件が含まれています。したがって、アサーションは失敗します。これは、テスト ケースも失敗することを意味します。アサーションが失敗すると、例外によって実行が停止します。
コンソールへの出力
AssertTrue()
アサーションは、条件によって返されるブール値を検証します。ブール値が true の場合、アサーションはテスト ケースを通過し、ブール値が false の場合、アサーションは例外によってテスト ケースを中止します。 AssertTrue() メソッドの構文は次のとおりです。
Assert.AssertTrue(condition);
例を通して理解しましょう。
package mypack; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver','C:\work\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.navigate().to('https://www.spicejet.com/'); driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).click(); Assert.assertTrue(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); System.out.println(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); } }
上記のコードでは、 driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).click(); このステートメントは、「上級国民」ボックスを選択するために使用されます。次のステートメントでは、アサーションを適用して、テスト ケースが失敗するか成功するかを確認します。 Assert.assertTrue() メソッド内のパラメータは true 値を返しているため、テスト ケースは合格です。
出力
コンソール上の出力
AssertEquals()
AssertEquals() は、実際の結果と期待される結果を比較するために使用されるメソッドです。実際の結果と期待される結果が両方とも同じである場合、アサーションは例外なく合格し、テスト ケースは「合格」としてマークされます。実際の結果と期待される結果が両方とも同じでない場合、アサーションは例外で失敗し、テスト ケースは「失敗」としてマークされます。 AssertEquals() メソッドの構文は次のとおりです。
Assert.assertEquals(actual,expected);
例を通して理解しましょう。
package mypack; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver','C:\work\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.navigate().to('https://www.spicejet.com/'); Assert.assertEquals('5Adult',driver.findElement(By.id('divpaxinfo')).getText()); System.out.println(driver.findElement(By.id('divpaxinfo')).getText()); }}
コンソールへの出力
Java文字をintに変換
AssertNotEquals()
の機能とは逆です AssertNotEquals() 方法。 AssertNotEquals() は、実際の結果と期待される結果を比較するために使用されるメソッドです。実際の結果と期待される結果の両方が同じでない場合、アサーションは例外なく合格し、テスト ケースは「合格」としてマークされます。実際の結果と期待される結果が両方とも同じである場合、アサーションは例外で失敗し、テスト ケースは「失敗」としてマークされます。 AssertNotEquals() メソッドの構文は次のとおりです。
AssertNotEquals(actual,expected,message);
例を通して理解しましょう。
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNotEquals('Hello', 'How are you'); System.out.println('Hello...This is javaTpoint'); } }
上記のコードでは、実際の文字列 (例: Hello) は、予期された文字列 (例: How are you) と等しくありません。したがって、アサーションはテスト ケースに合格します。これにより次のステートメントが実行され、次のステートメントは System.out.println('こんにちは...javaTpoint です'); 。
出力
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNotEquals('Hello', 'Hello'); System.out.println('Hello...This is javaTpoint'); }}
出力
AssertNull()
AssertNull() は、オブジェクトが null かどうかを検証するメソッドです。オブジェクトが null の場合、アサーションはテスト ケースに合格し、テスト ケースは「合格」としてマークされます。オブジェクトが null でない場合、アサーションはテスト ケースを中止し、テスト ケースは「失敗」としてマークされます。 AssertNull() メソッドの構文は次のとおりです。
Java数学クラス
Assert.assertNull(object);
例を通して理解しましょう。
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { Assert.assertNull(null); System.out.println('Hello...This is javaTpoint'); }}
出力
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNull(10); System.out.println('Hello World'); } }
出力
AssertNotNull()
AssertNotNull() は、オブジェクトが null かどうかを検証するメソッドです。オブジェクトが null でない場合、アサーションはテスト ケースに合格し、テスト ケースは「合格」としてマークされます。オブジェクトが null の場合、アサーションはテスト ケースを中止し、テスト ケースは「失敗」としてマークされます。 AssertNotNull() メソッドの構文は次のとおりです。
Assert.assertNotNull(object);
例を通して理解しましょう。
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNotNull(10); System.out.println('C Language'); }}
出力
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNotNull(null); System.out.println('C Language'); } }
出力
ソフトアサーション
これまで、Testng フレームワークを使用した Web ドライバーのハード アサーションについて学習してきました。ハード アサーションでは、アサーションが失敗するとテスト ケースが中止され、それ以外の場合は実行が継続されます。アサーションが失敗した場合でも、スクリプト全体を実行したい場合があります。これはハード アサーションでは不可能です。この問題を解決するには、testng でソフト アサーションを使用する必要があります。