Manage Execution and Data with TestNG

When we want to write or run hundreds of test cases, we need to manage those with minimum effort. We can use JSON or XML files to read and edit data or parameters. use this method and you will see, how your management process more easily.

Now we add some parameters to the testng.xml file and we use these parameters at all classes.

For example; I run and write many test cases and I always use driver path, driver type, and base URL.

Step1: I added these parameters to testng.xml with parameter tag and enter name and value and I also added class names because I will use these parameters at these classes. We can add more than that of course.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite">
<test verbose="2" preserve-order="true" name="Command Line Tests" >
<parameter name="DRIVER_PATH" value="Drivers/chromedriver"></parameter>
<parameter name="DRIVER_TYPE" value="webdriver.chrome.driver"></parameter>
<parameter name="BASE_URL" value="https://www.google.com/"></parameter>

<classes>
<class name="FirstChromeSearch"></class>
<class name="ParallelTesting"></class>
</classes>

</test>
</suite>

Step2: We add these parameters to functions with Parameters and we need to add those as a value too.

@BeforeTest
@Parameters ({"BASE_URL","DRIVER_TYPE","DRIVER_PATH"})
public void beforeTest(String BASE_URL, String DRIVER_TYPE, String DRIVER_PATH) {
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless","--disable-notifications","--ignore-certificate-errors","--disable-extensions","--window-size=1024,700");
System.setProperty(DRIVER_TYPE, DRIVER_PATH);
driver = new ChromeDriver(options);
driver.get(BASE_URL);
}

I will run these test cases with a headless mode on the terminal. Now we won’t see any UI but this will save us time.

Now we go testng.xml’s path and run this command on the terminal:

mvn clean test -DsuiteXmlFile=testng.xml

After we ran this suite we can see results now.

Quality Assurance Engineer-Automation

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store