Selenium Java Tutorial
Selenium Assertions
What is Assertion in Selenium ?
Assertion is for verifying or validating an application that compares the actual and expected results and if it fails then execution stops. To achieve assertion in webdriver, you need to download testNg jar file and add it to your project. Assertion is of two types :
Hard Assertions
Soft Assertions
Methods in Assertion The methods of assertion returns boolean value :
assertEquals(ActualOutput,ExpectedOutput);
Returns true if matched else false.
assertNotEquals(ActualOutput,ExpectedOutput);
Returns true if not matched else false.
assertTrue(condition);
Returns true if condition is fulfilled else false.
assertFalse(condition);
Returns true if condition is not fulfilled else false.
assertNull(output);
Returns true if null else false.
assertNull(output);
Returns true if not null else false.
Hard Assertions
In hard assertions, test execution is terminated if the assertion condition fails :
verifyTitle=Title.equals("Maven Repository: Search/Browse/Explore");
Assert.assertTrue(verifyTitle);
verifyTitle=Title.equals("Maven Repository:");
Assert.assertFalse(verifyTitle);
Title=null;
Assert.assertNull(Title);
Title="Maven Repository: Search/Browse/Explore";
Assert.assertNotNull(Title);
Hard assert in selenium =>
package seleniumexamples;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import graphql.Assert;
public class HardAssert {
public static void main(String[] args) {
// TODO Auto-generated method stub
WebDriver driver;
String baseURL="https://mvnrepository.com/";
//Launch the web browser
System.setProperty("webdriver.chrome.driver","..\\SeleniumJava\\drivers\\chromedriver99.exe");
driver=new ChromeDriver();
//To maximize the size of window
driver.manage().window().maximize();
//Navigate through an URL
driver.get(baseURL);
Boolean verifyTitle;
String Title=driver.getTitle();
//assertTrue
verifyTitle=Title.equals("Maven Repository: Search/Browse/Explore");
Assert.assertTrue(verifyTitle);
System.out.println("Pass : Title Matched !!");
//assertFalse
verifyTitle=Title.equals("Maven Repository:");
Assert.assertFalse(verifyTitle);
System.out.println("Pass : Title is not Matched !!");
//assertNull
Title=null;
Assert.assertNull(Title);
System.out.println("Pass : Expected Title is Null !!");
//assertNotNull
Title="Maven Repository: Search/Browse/Explore";
Assert.assertNotNull(Title);
System.out.println("Pass : Expected Title is not Null !!");
driver.quit();
}
}
Output :
Pass : Title Matched !!
Pass : Title is not Matched !!
Pass : Expected Title is Null !!
Pass : Expected Title is not Null !!
Soft Assertions Soft assertion simply verifies the application and test execution does not terminate whether assertion condition fails or not. For soft assert import following package :
import org.testng.asserts.SoftAssert;
Instantiate the SoftAssert class :
SoftAssert softAssert=new SoftAssert();
Invoke the assert methods :
verifyTitle=Title.equals("Maven Repository:"); softAssert.assertTrue(verifyTitle);
Soft assert in testNG =>
package seleniumTest;
import org.testng.annotations.Test;
import org.testng.asserts.SoftAssert;
import org.testng.annotations.BeforeClass;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterClass;
public class SoftAssertInTestNG {
WebDriver driver;
@Test
public void f() {
Boolean verifyTitle;
String Title=driver.getTitle();
//Instantiate The SoftAssert class...
SoftAssert softAssert=new SoftAssert();
//Soft assertEquals
String ExpectedTitle="Maven Repository:";
softAssert.assertEquals(Title, ExpectedTitle);
System.out.println("assertEquals FAILS : Still Executing...");
//Soft assertNotEquals
ExpectedTitle="Maven Repository: Search/Browse/Explore";
softAssert.assertNotEquals(Title, ExpectedTitle);
System.out.println("assertNotEquals FAILS : Still Executing...");
//Soft assertTrue
verifyTitle=Title.equals("Maven Repository:");
softAssert.assertTrue(verifyTitle);
System.out.println("assertTrue FAILS : Still Executing...");
//Soft assertFalse
verifyTitle=Title.equals("Maven Repository: Search/Browse/Explore");
softAssert.assertFalse(verifyTitle);
System.out.println("asserFalse FAILS : Still Executing...");
//Soft assertNull
Title="Maven Repository: Search/Browse/Explore";
softAssert.assertNull(Title);
System.out.println("assertNull FAILS : Still Executing...");
//Soft assertNotNull
Title=null;
softAssert.assertNotNull(Title);
System.out.println("assertNotNull FAILS : Still Executing...");
System.out.println("All the Soft Asserts Failed but Test Execution does not Terminate !!");
}
@BeforeClass
public void beforeClass() {
String baseURL="https://mvnrepository.com/";
//Launch the web browser
System.setProperty("webdriver.chrome.driver","..\\SeleniumJava\\drivers\\chromedriver99.exe");
driver=new ChromeDriver();
//To maximize the size of window
driver.manage().window().maximize();
//Navigate through an URL
driver.get(baseURL);
}
@AfterClass
public void afterClass() {
driver.quit();
}
}
Output :
assertEquals FAILS : Still Executing... assertNotEquals FAILS : Still Executing... assertTrue FAILS : Still Executing... asserFalse FAILS : Still Executing... assertNull FAILS : Still Executing... assertNotNull FAILS : Still Executing... All the Soft Asserts Failed but Test Execution does not Terminate !!