What Is The Difference Between Assert And Verify In Selenium

What Is The Difference Between Assert And Verify In Selenium

Both Assert and Verify commands are used to find whether a given input is present or not on the webpage. There are some difference between Assert and Verify in Selenium.

Let’s see the basic difference between Assert and Verify in Selenium:

Assert command in selenium:

When an “assert” command fails, the test execution will be aborted. So when the Assertion fails, all the test steps after that line of code are skipped. The solution to overcoming this issue is to use a try-catch block. We use the Assertion in the try catch block. Mostly, the assert command is used when the end result of the check value should pass to continue to the next step.

In simple words, if the assert condition is true then the program control will execute the next test step but if the condition is false, the execution will stop and further test step will not be executed.

To overcome this we use Soft Assert in TestNG. Checkout below post to know what is Soft Assert.

Must Read: Soft Assert in Selenium

Verify command in selenium:

When a “verify” command fails, the test will continue executing and logging the failure. Mostly, the Verify command is used to check non-critical things. In such cases where we move forward even though the end result of the check value is failed.

In simple words, there wont be any halt in the test execution even though the verify condition is true or false.

Note: In TestNG, we use only Assert Statements. We can use Verify statement in terms of if-else and try-catch.

1
2
3
4
5
if(isElementPresent(By.linkText(“login”))){
System.out.println(“Login link is present”);
} else{
System.out.println(“Login link is not present”);
}

Or

1
2
3
4
5
try {
assertTrue(isElementPresent(By.xpath(“assert-and-verify”)));
} catch (Error e) {
verificationErrors.append(e.toString());
}

Please be patient. The video will load in some time.

Must Read: How To Capture Full Page Screenshot in Selenium 3

Let’s see a basic example on Assertion in TestNG:

The below program is written using TestNG. Click here to see the post on How To Install TestNG .

Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package stmTutorial;
 
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
 
public class AssertionExample {
@Test
public void assertion(){
//Instantiation of driver object. To launch Firefox browser
WebDriver driver = new FirefoxDriver();
//To open the URL
driver.get(“https://www.softwaretestingmaterial.com”);
//Actual title is “Software Testing Material – A site for Software Testers”
//We took title as “Software Testing Material” to make the test fail
String Title = “Software Testing Material”;
String GetTitle = driver.getTitle();
System.out.println(“Assertion starts here…”);
Assert.assertEquals(Title, GetTitle);
System.out.println(“A blog for Software Testers”);
                driver.quit();
}
}

After executing the above program, we see only “Assertion starts here…” in the console. We made the assertion fail deliberately. So, in the console we couldn’t see “A blog for Software Testers”. Here the assertion failed, so the next step to print “A blog for Software Testers” is skipped.

To over come this we use try-catch block. See the below program.

Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package stmTutorial;
 
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
 
public class AssertionExample {
@Test
public void assertion(){
//Instantiation of driver object. To launch Firefox browser
WebDriver driver = new FirefoxDriver();
//To open the URL
driver.get(“https://www.softwaretestingmaterial.com”);
//Actual title is “Software Testing Material – A site for Software Testers”
//We took title as “Software Testing Material” to make the test fail
String Title = “Software Testing Material”;
String GetTitle = driver.getTitle();
System.out.println(“Assertion starts here…”);
try{
Assert.assertEquals(Title, GetTitle);
}catch (Throwable t){
System.out.println(“A blog for Software Testers”);
}
driver.quit();
}
 
}

Must Read: TestNG Complete Tutorial

If you are not regular reader of my blog then I highly recommend you to signup for the free email newsletter using the below link