Writing Our First Test

Prerequisites :
An IDE of your like (using vscode here)
An executable - Selenium Webdriver
Maven, Java installed
A project with a sample test case using Se and testNG
I've used a simple test case i.e., hitting a URL, retrieving title and verifying it and quitting the browser.
In this we've used basic and simple Test Annotations - @Test @AfterMethod @BeforeMethod
You can create a TestNG class directly via Eclipse but, in VsCode try to create a new file as testng.xml following the below project structure.

Lets create our first TestNG using a classic example -
Add TestNG library in the pom.xml
<dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.8.7</version><scope>test</scope></dependency>Add Maven Surefire plugin (Optional - When trying to run testNG in VSCode via Maven) | Can be found here
A Test Class
testNG.xml
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" ><suite name="Suite1" verbose="1" ><test name="Regression1"><classes><class name="com.example.AppTest"/></classes></test></suite>
Program -
package com.example;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.*;
public class Login {
WebDriver driver;
@BeforeTest
public void setup() {
System.setProperty("webdriver.chrome.driver", "/resources/chromedriver");
driver = new ChromeDriver();
String url = "https://opensource-demo.orangehrmlive.com/";
driver.get(url);
System.out.println("Starting the browser session");
}
@Test
public void tests() {
WebElement uname = driver.findElement(By.name("txtUsername"));
uname.sendKeys("Admin");
WebElement pwd = driver.findElement(By.id("txtPassword"));
pwd.sendKeys("admin123");
driver.findElement(By.id("btnLogin")).click();
String expectedTitle = "OrangeHRM";
String actualTitle = driver.getTitle();
Assert.assertEquals(actualTitle, expectedTitle);
}
@AfterTest
public void afterMethod() {
System.out.println("Closing the browser session");
driver.quit();
}
}




