L'asserzione determina lo stato della domanda se è lo stesso che ci aspettiamo o meno. Se l'asserzione fallisce, il test case fallisce e interrompe l'esecuzione.
Per utilizzare Assertion in Web Driver, è necessario scaricare il file jar Testng e aggiungerlo a Eclipse. Scarica il file jar Testng dal link indicato di seguito:
https://mvnrepository.com/artifact/org.testng/testng/6.7Esistono due tipi di asserzione:
per l'array di stringhe Java
- Affermazione dura
- Asserzione morbida
Affermazione dura
Hard Assertion è un'asserzione che lancia il AssertException quando il caso di test fallisce. Nel caso di Hard Assertion, puoi gestire l'errore utilizzando un blocco catch come un'eccezione Java. Supponiamo di avere due casi di test in una suite. Il primo caso di test in una suite ha un'asserzione che fallisce e se vogliamo eseguire il secondo caso in una suite, dobbiamo gestire l'errore di asserzione. Una Hard Assertion contiene i seguenti metodi:
- AssertEquals
- AssertNotEquals
- AssertoVero
- AssertFalse
- AssertNull
- AssertNotNull
AssertFalse()
L'asserzione verifica il valore booleano restituito da una condizione. Se il valore booleano è falso, l'asserzione supera il test case, mentre se il valore booleano è vero, l'asserzione interrompe il test case con un'eccezione. La sintassi del metodo AssertFalse() è riportata di seguito:
Assert.AssertFalse(condition);
Capiamo attraverso un esempio:
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()); } }
Nel codice precedente, Assert.assertFalse() contiene la condizione che restituisce un valore falso. Pertanto, supera il test case.
Uscita sulla console
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()); }}
Nel codice precedente, il metodo Assert.assertFalse() contiene la condizione vera. Pertanto, l’asserzione fallisce, il che significa che anche il test case è fallito. Il fallimento dell'asserzione interromperà l'esecuzione per eccezione.
Uscita sulla console
AsserisciVero()
L'asserzione verifica il valore booleano restituito da una condizione. Se il valore booleano è vero, l'asserzione supera il test case, mentre se il valore booleano è falso, l'asserzione interrompe il test case con un'eccezione. La sintassi del metodo AssertTrue() è riportata di seguito:
Assert.AssertTrue(condition);
Capiamo attraverso un esempio.
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()); } }
Nel codice sopra, driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).click(); Questa affermazione viene utilizzata per selezionare la casella 'Senior Citizen'. Nella prossima affermazione, applicheremo l'asserzione per verificare se il caso di test fallisce o è superato. Il parametro all'interno del metodo Assert.assertTrue() restituisce il valore vero, quindi il test case è superato.
Produzione
Uscita sulla console
AsserisciUguale()
AssertEquals() è un metodo utilizzato per confrontare i risultati effettivi e attesi. Se i risultati effettivi e attesi sono gli stessi, l'asserzione passa senza eccezioni e il test case viene contrassegnato come 'superato'. Se i risultati effettivi e attesi non sono gli stessi, l'asserzione fallisce con un'eccezione e il test case viene contrassegnato come 'fallito'. La sintassi di un metodo AssertEquals() è riportata di seguito:
Assert.assertEquals(actual,expected);
Capiamo attraverso un esempio.
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()); }}
Uscita sulla console
confronto di stringhe C#
AssertNotEquals()
È opposto alla funzione di AssertNotEquals() metodo. AssertNotEquals() è un metodo utilizzato per confrontare i risultati effettivi e attesi. Se i risultati effettivi e attesi non sono gli stessi, l'asserzione viene superata senza eccezioni e il test case viene contrassegnato come 'superato'. Se i risultati effettivi e attesi sono gli stessi, l'asserzione fallisce con un'eccezione e il test case viene contrassegnato come 'fallito'. La sintassi di un metodo AssertNotEquals() è riportata di seguito:
AssertNotEquals(actual,expected,message);
Capiamo attraverso un esempio.
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'); } }
Nel codice precedente, la stringa effettiva, ovvero Ciao, non è uguale alla stringa prevista, ovvero Come stai. Pertanto l’asserzione supera il test case. Questo eseguirà l'istruzione successiva e l'istruzione successiva sarà System.out.println('Ciao...Questo è javaTpoint'); .
Produzione
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'); }}
Produzione
AssertNull()
AssertNull() è un metodo che verifica se l'oggetto è nullo o meno. Se un oggetto è nullo, l'asserzione supera il test case e il test case viene contrassegnato come 'superato' e se un oggetto non è nullo, l'asserzione interrompe il test case e il test case viene contrassegnato come 'non riuscito'. La sintassi del metodo AssertNull() è riportata di seguito:
Assert.assertNull(object);
Capiamo attraverso un esempio.
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'); }}
Produzione
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'); } }
Produzione
AssertNotNull()
AssertNotNull() è un metodo che verifica se l'oggetto è nullo o meno. Se un oggetto non è nullo, allora l'asserzione supera il test case e il test case viene contrassegnato come 'superato', mentre se un oggetto è nullo, l'asserzione interrompe il test case e il test case viene contrassegnato come 'non riuscito'. La sintassi del metodo AssertNotNull() è riportata di seguito:
Assert.assertNotNull(object);
Capiamo attraverso un esempio.
q1 q2 q3 q4
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'); }}
Produzione
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'); } }
Produzione
SoftAsserzione
Fino ad ora, abbiamo appreso dell'Hard Assertion in Web Driver utilizzando il framework Testng. Nell'asserzione difficile, se un'asserzione fallisce, il test case viene interrotto, altrimenti continua l'esecuzione. A volte vogliamo eseguire l'intero script anche se l'asserzione fallisce. Questo non è possibile in Hard Assertion. Per superare questo problema, dobbiamo utilizzare un'asserzione soft in testing.