logo

アサーション

アサーションは、アプリケーションの状態が予期したものと同じであるかどうかを決定します。アサーションが失敗した場合、テスト ケースは失敗し、実行が停止します。

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); 

例を通して理解しましょう。

    大人の人数が5人の場合。
 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()); }} 
アサーション
アサーション
    大人の人数が5名に満たない場合
アサーション

コンソールへの出力

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); 

例を通して理解しましょう。

    オブジェクトが null の場合。
 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'); }} 

出力

アサーション
    オブジェクトが null に等しくない場合。
 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); 

例を通して理解しましょう。

    オブジェクトが null ではない場合。
 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'); }} 

出力

アサーション
    オブジェクトが null の場合。
 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 でソフト アサーションを使用する必要があります。