Selenium WebDriver
Benefits of Selenium
Four components of Selenium
Difference b/w Selenium IDE, RC & WebDriver
Selenium WebDriver Architecture
Background when user execute selenium code
Download and Install Java
Download and Install Eclipse
Download Selenium WebDriver
Selenium WebDriver Locators
Selenium - Launch Browser
Selenium WebDriver Waits
Selenium- Implicit wait
Selenium- Explicit wait
Selenium- Fluent wait
Selenium- Commonly used commands
Selenium- findElement & findElements
Selenium- Selenium-Handling check Box
Selenium- Handling Radio button
Selenium- Handling drop down
Selenium- Take Screenshot
Selenium- Handle Web Alerts
Selenium- Multiple Windows Handling
Selenium- Handle iframes
Selenium- Upload a file
Selenium- Download a file
Selenium- Actions Class Utilities
Selenium- Mouse Actions
Selenium- Keyboards Events
Selenium- Handle mouse hover Actions
Selenium- Drag and Drop
Selenium- Scroll a WebPage
Selenium- Context Click / Right Click
Selenium- Double Click
Selenium- Desired Capabilities
Selenium- Assertions
Selenium- Exceptions and Exception Handling
Selenium- Difference b/w driver.close() & driver.quit()
Selenium- difference b/w driver.get() & driver.navigate()
Selenium- JavascriptExecutor
Selenium- Read excel file using Fillo API
Selenium- Database Testing using Selenium
Selenium- Read & write excel file using Apache POI
Selenium- Read and Write csv file in Selenium
Selenium- Dynamic Web Table Handling
Selenium- Maven Integration with Selenium
Selenium- Set up Logging using Log4j
Selenium-Implement Extent Report
How to use Assertions in selenium Web Driver?
This article will present you with a complete idea about Assertions and Assertions in selenium and its type in Selenium WebDriver.
We will learn below topics in this article
What is Assertion?
Assertions can be handled with the help of the predefined method of JUnit and TestNG frameworks.
Assertions are used for validating a test case and based on it’s result test case has passed or failed
Whenever we automate a web application using Selenium, we have to verify if the test case is working as expected or not , based on it’s result test case passes or fails.
Type of Assertion
There are two types of assertion available in selenium WebDriver:
-
- Soft Assert
- Hard Assert
1) Hard Assert
Whenever we write a Hard assert statement in our test scripts and if any assert statement fails then it throws an exception immediately and continues with the next test in the test suite.In case of an assertion error, it will throw the “java.lang.AssertionError” exception.
-
-
- AssertEquals
- AssertNotEquals
- AssertTrue
- AssertFalse
- AssertNull
- AssertNotNull
-
AssertEquals
AssertEquals is a method which takes a minimum of two arguments and compares actual results with expected results.
If actual and expected results are the same, then the assertion passes with no exception and the test case is marked as “passed”.
If both the actual and expected results are not the same, then the assertion fails with an exception and the test case is marked as “failed”.
Syntax:
Assert.assertEquals(actual,expected);
//Code Snippet
package com.test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.Assert; import org.testng.annotations.Test; public class HardAssertionsExample { @Test public void testAssertFunctions() { System.setProperty("webdriver.chrome.driver", "D:\\Drivers\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.navigate().to("https://tutorialshut.com/"); String ActualTitle = driver.getTitle(); String ExpectedTitle = "Tutorials Hut -Free Tutorials and Software Testing material"; Assert.assertEquals(ActualTitle, ExpectedTitle); System.out.println("Next step after assertion"); driver.close(); } }
Result
Next step after assertion
PASSED: testAssertFunctions..
===============================================
Default test
Tests run: 1, Failures: 0, Skips: 0
===============================================
AssertNotEquals
It is a method that does the opposite of the assertEquals() method.
AssertNotEquals() is a method used to compare the actual and expected results.
If actual and expected results are not the same, then the assertion passes with no exception and the test case is marked as “passed”.
If actual and expected results are the same, then the assertion fails with an exception and the test case is marked as “failed”.
Syntax:
AssertNotEquals(actual,expected);
//Code Snippet
package com.test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.Assert; import org.testng.annotations.Test; public class HardAssertionsExample { @Test public void testAssertFunctions() { System.setProperty("webdriver.chrome.driver", "D:\\Drivers\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.navigate().to("https://tutorialshut.com/"); String ActualTitle = driver.getTitle(); String ExpectedTitle = "Tutorials Hut -Free Tutorials and Software Testing material"; Assert.assertNotEquals(ActualTitle, ExpectedTitle); System.out.println("Next step after assertion"); driver.close(); } }
Result-
FAILED: testAssertFunctions
java.lang.AssertionError:…
===============================================
Default test
Tests run: 1, Failures: 1, Skips: 0
===============================================
AssertTrue
AssertTrue is used to verify if a given Boolean condition is true.
This assertion returns true if the specified condition passes and the test case is marked as “passed”.
if not, then the assertion fails with an exception and the test case is marked as “failed”.
Syntax
Assert.AssertTrue(condition);
//Code Snippet package com.test; import org.testng.Assert; import org.testng.annotations.Test; public class DemoForAll { @Test public void testAssertFunctions() { System.out.println(" step Before assertion"); Assert.assertTrue(true); System.out.println("Next step after assertion"); } }
Result
step Before assertion
Next step after assertion
PASSED: testAssertFunctions
===============================================
Default test
Tests run: 1, Failures: 0, Skips: 0
===============================================
AssertFalse
AssertFalse is basically opposite to assertTrue.
AssertFalse is used to verify if a given Boolean condition is false.
When a condition value is true, the assertion aborts the method by an exception and if the condition returns false then test cases are passed.
Syntax:
Assert.AssertFalse(condition);
//Code Snippet
package com.test; import org.testng.Assert; import org.testng.annotations.Test; public class DemoAssertionsl { @Test public void testAssertFunctions() { System.out.println(" step Before assertion"); Assert.assertFalse(true); System.out.println("Next step after assertion"); } }
Result-
step Before assertion
FAILED: testAssertFunctions
java.lang.AssertionError: expected [false] but found [true]
……..
===============================================
Default test
Tests run: 1, Failures: 1, Skips: 0
===============================================
AssertNull
This assertion checks if the object is null or not.
It aborts the test case if the object is null and gives an exception.
Syntax:
Assert.assertNull(object);
//Code Implementation
package com.test; import org.testng.Assert; import org.testng.annotations.Test; public class DemoHardAssertions{ @Test public void testAssertFunctions() { System.out.println(" step Before assertion"); Assert.assertNull(null); System.out.println("Next step after assertion"); } }
Result
step Before assertion
Next step after assertion
PASSED: testAssertFunctions
===============================================
Default test
Tests run: 1, Failures: 0, Skips: 0
AssertNotNull
This Assertion Verifies whether the object is null or not.
If an object is not null, then assertion passes the test case and test case is marked as “passed”,
if an object is null, then assertion aborts the test case and test case is marked as “failed”
Syntax:
Assert.assertNotNull(object);
//Code Implementation
package com.test; import org.testng.Assert; import org.testng.annotations.Test; public class DemoHardAssertion{ @Test public void testAssertFunctions() { System.out.println(" step Before assertion"); Assert.assertNotNull(null); //test case will fail System.out.println("Next step after assertion"); } }
Result
step Before assertion
FAILED: testAssertFunctions
java.lang.AssertionError: expected object to not be null
………
===============================================
Default test
Tests run: 1, Failures: 1, Skips: 0
===============================================
2) Soft Assert
Till now we have learnt the hard assertions so In a hard assertion, when assertion fails it terminates the test
If we want to run the whole test case and report the failure in testNg report and we don’t want our test terminates in the middle if any of the assertion fails then we use Soft Assertions
Soft Assert does not throw an exception or terminates in the middle when an assert fails and our test execution proceeds further with the next steps
To perform Soft Assertion we need to call assertAll() method compulsorily
Lets understand how it works by below examples
//Code Implementation
package com.test; import org.testng.annotations.Test; import org.testng.asserts.SoftAssert; public class SoftAssertDemo { @Test public void softAssertionTest(){ //Creating softAssert object SoftAssert softAssert = new SoftAssert(); softAssert.assertEquals("Selenium", "Selenium", "1st Soft assert passed"); System.out.println("First soft asssertion passed"); softAssert.assertTrue("Selenium".equals("selenium"), "2nd Soft assert failed"); System.out.println("Second soft assertion failed"); softAssert.assertTrue("Testing".equals("testingggg"), "3rd soft assert failed"); System.out.println("Third soft assertion failed"); //Collates the assertion results and marks test as pass or fail softAssert.assertAll(); } }
Result
Selenium WebDriver Tutorials
Benefits of Selenium
Four components of Selenium
Difference b/w Selenium IDE, RC & WebDriver
Selenium WebDriver Architecture
Background when user execute selenium code
Download and Install Java
Download and Install Eclipse
Download Selenium WebDriver
Selenium WebDriver Locators
Selenium - Launch Browser
Selenium WebDriver Waits
Selenium- Implicit wait
Selenium- Explicit wait
Selenium- Fluent wait
Selenium- Commonly used commands
Selenium- findElement & findElements
Selenium- Selenium-Handling check Box
Selenium- Handling Radio button
Selenium- Handling drop down
Selenium- Take Screenshot
Selenium- Handle Web Alerts
Selenium- Multiple Windows Handling
Selenium- Handle iframes
Selenium- Upload a file
Selenium- Download a file
Selenium- Actions Class Utilities
Selenium- Mouse Actions
Selenium- Keyboards Events
Selenium- Handle mouse hover Actions
Selenium- Drag and Drop
Selenium- Scroll a WebPage
Selenium- Context Click / Right Click
Selenium- Double Click
Selenium- Desired Capabilities
Selenium- Assertions
Selenium- Exceptions and Exception Handling
Selenium- Difference b/w driver.close() & driver.quit()
Selenium- difference b/w driver.get() & driver.navigate()
Selenium- JavascriptExecutor
Selenium- Read excel file using Fillo API
Selenium- Database Testing using Selenium
Selenium- Read & write excel file using Apache POI
Selenium- Read and Write csv file in Selenium
Selenium- Dynamic Web Table Handling
Selenium- Maven Integration with Selenium
Selenium- Set up Logging using Log4j
Selenium-Implement Extent Report