TestNG in Selenium
TestNG is a testing framework that is often used with Selenium for test automation in Java. TestNG provides various features for test configuration, parallel execution, grouping, reporting, and more, making it a popular choice for organizing and running Selenium tests effectively. Here’s how to use TestNG with Selenium:
Set Up a Java Development Environment:
Before you can use TestNG with Selenium, make sure you have Java and an integrated development environment (IDE) such as Eclipse or IntelliJ IDEA installed on your machine.
Create a Java Project:
Open your IDE and create a new Java project where you will write your Selenium tests.
Add Selenium WebDriver Dependencies:
To use Selenium with Java, you need to add the Selenium WebDriver dependencies to your project. You can do this by including the Selenium WebDriver JAR files in your project’s classpath or by using a build tool like Maven or Gradle to manage dependencies.
If you’re using Maven, add the following dependency to your
pom.xml
file:xml<dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> <!-- Use the latest version available --> </dependency> </dependencies>
Maven will automatically download the necessary Selenium WebDriver JAR files for you.
Create Selenium Test Classes:
In your Java project, create test classes and write test methods using Selenium WebDriver commands to interact with web elements and perform actions on web pages. Here’s a simple example that opens a web page and performs a search using TestNG annotations:
javaimport org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.*; public class SeleniumTest { WebDriver driver; @BeforeClass public void setUp() { System.setProperty("webdriver.chrome.driver", "path_to_chromedriver.exe"); driver = new ChromeDriver(); } @Test public void searchTest() { driver.get("https://www.example.com"); WebElement searchBox = driver.findElement(By.name("q")); searchBox.sendKeys("Selenium TestNG"); searchBox.submit(); } @AfterClass public void tearDown() { driver.quit(); } }
In this example, we use TestNG annotations
@BeforeClass
,@Test
, and@AfterClass
to set up the WebDriver, execute the test, and clean up after the test is complete.Create TestNG XML Suite File:
TestNG allows you to define test suites and specify the test classes you want to run using an XML configuration file. Create a TestNG XML suite file and specify the test classes you want to include in your test suite.
xml<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="SeleniumSuite"> <test name="SeleniumTest"> <classes> <class name="your.package.name.SeleniumTest"/> </classes> </test> </suite>
Run Tests Using TestNG:
Use the TestNG runner to execute your Selenium tests. You can run the tests from the TestNG XML suite file or directly from your IDE. TestNG will execute the test methods in the specified classes and generate test reports.
Assertions and Reporting:
Use TestNG’s assertion methods to verify the expected outcomes of your tests. TestNG also provides built-in reporting, but you can enhance reporting by integrating with other reporting frameworks like ExtentReports.
Parallel Execution and Grouping:
TestNG supports parallel test execution, which can significantly reduce test execution time. You can also group test methods and execute specific groups of tests using TestNG.
Demo Day 1 Video:
Conclusion:
Unogeeks is the No.1 IT Training Institute for Selenium Training. Anyone Disagree? Please drop in a comment
You can check out our other latest blogs on Selenium here – Selenium Blogs
You can check out our Best In Class Selenium Training Details here – Selenium Training
Follow & Connect with us:
———————————-
For Training inquiries:
Call/Whatsapp: +91 73960 33555
Mail us at: info@unogeeks.com
Our Website ➜ https://unogeeks.com
Follow us:
Instagram: https://www.instagram.com/unogeeks
Facebook:https://www.facebook.com/UnogeeksSoftwareTrainingInstitute
Twitter: https://twitter.com/unogeeks