top of page

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 !! ​



bottom of page