Selenium Test Cases in Java with TestNG Tutorial
In this TestNG tutorial, We are going to cover How you can Start the TestNG in Selenium Java.
TestNG is next generation testing framework like JUnit & NUnit but with extra features(Read keywords, Generate Test Reports, Generate logs) and easy to use. TestNG framework can cover different type of the tests like Integration, Unit, end-to-end, etc.
Installing TestNG in Eclispe:
- Open Eclipse , Select Help / Software updates / Find and Install.
- Search for new features to install.
- New remote site.
- For Eclipse 3.4 and above, enter http://beust.com/eclipse.
- For Eclipse 3.3 and below, enter http://beust.com/eclipse1.
- Make sure the checkbox next to URL is checked and click Next.
- Eclipse will then guide you through the process.
package com.scrolltest.testng;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
public class BaseClass {
WebDriver driver;
@BeforeMethod
public void setUp() {
driver = new FirefoxDriver();
}
@AfterMethod
public void tearDown() {
// driver.close();
driver.quit();
}
}
Step3 :
Create a Separate Class with Name Registration .java to write a Test case for Registration of the
Demo: Website http://demoaut.com/mercuryregister.php
package com.scrolltest.testng;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.Select;
import org.testng.Reporter;
public class RegisterationPageObect {
private WebDriver driver;
public RegisterationPageObect(WebDriver driver) {
this.driver = driver;
}
public void RegisterUser() {
driver.findElement(By.name("firstName")).sendKeys("Pramod");
driver.findElement(By.name("lastName")).sendKeys("Dutta");
driver.findElement(By.name("phone")).sendKeys("981457452");
WebElement t = driver.findElement(By.id("userName"));
driver.findElement(By.id("userName")).sendKeys("a@c.com");
Reporter.log(""+t.getAttribute("maxlength"));
// #Drop Down
new Select(driver.findElement(By.name("country")))
.selectByVisibleText("ANGUILLA");
// register
driver.findElement(By.name("register")).click();
}
}
Step4: Now let’s create a Final class and TestNG xml file.
MainClass.java
package com.scrolltest.testng;
import org.openqa.selenium.By;
import org.openqa.selenium.support.ui.Select;
import org.testng.annotations.Test;
public class MainClass extends BaseClass {
@Test
public void testRegisterationInDemoAUT() throws InterruptedException {
RegistrationPageObect pageOject = new RegistrationPageObect(driver);
driver.get("http://demoaut.com/mercuryregister.php");
pageOject.RegisterUser();
assert driver
.findElement(By.tagName("body"))
.getText()
.contains(
"Thank you for registering. You may now sign-in using the user name and password you've just entered.");
assert driver.findElement(By.tagName("body")).getText()
.contains("Dear Pramod Dutta,");
}
}
Step5:
Now Run the Test by Creating new TestNG configuration by Clicking on the Project->Run Configuration, Select
the TestSuite and browse the XML file(testng.xml). and Now Run the Project.
Step6:
After run successfully, If you refresh you project you will see the test-output folder , Open “index.html” and see that You Test Suite Results. Click on the Report output link you can see max length also.(Used as Logging)
🎭 Want to master this with real projects? Join the Playwright Automation Mastery course at The Testing Academy.
You may also want to checkout
The Definitive Guide to Do API Testing in 2019
How to do Local testing and what is it?
🎓 Master Playwright End to End
Join hundreds of SDETs building real automation frameworks. Lifetime access, hands-on projects, and a job-ready portfolio.
