How to perform data parameterization in TestNG?


We can perform data parameterization in TestNG. The parameterization in execution in TestNG can be done in the following ways −

  • data parameterization with @Parameters annotation.

  • data parameterization with @DataProvider annotation.

Example

Code Implementation of TestNG xml file with @Parameter annotation.

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name = "Tutorialspoint Test">
   <parameter name = "Url" value="https://www.tutorial.com"/>
   <test name = "Regression Cycle 1">
      <classes>
         <class name = "TestParameter" />
      </classes>
   </test>
</suite>

We can pass values at runtime to the test methods by defining <parameter> in the TestNG xml file.

Example

import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class TestParameter {
   @Test
   @Parameters("Url")
   public void loginwithUrl(String urlname) {
      System.out.println("The value of url is : " + urlname);}
   }

Java class files have @Parameters with (“Url”).

Code Implementation with @DataProvider annotation.

@DataProvider(name = "QuestionSearch")
public Object[][] quest_anssearch(){
   return new Object[][]
   {
      { “Tutorialspoint”, “Java”},
      { “Python”, “PyCharm”},
   };
}
@Test(dataProvider = "QuestionSearch ")
public void userInput(String subject, String lang){
   System.out.println("The values are : " + subject +”“+ lang);
}

We can pass multiple data at runtime with the help of @DataProvider in the Java class file.

Updated on: 19-Nov-2021

190 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements