While executing test cases with a multiple data sets, it is always ideal to parameterize the test cases.
The parameterization of the test data is always a smart task to be taken into consideration based on number of parameters like
- Number of Iterations
- Frequency of data is updated
- Maintenance of test data
- and many more...
Using TestNg, we can achieve this in multiple ways like
- Passing as an input from the XML file
- Using the DataProvider annotation
Using XML configuration, we can configure the variable and data in the xml as shown below:
<parameter name="username" value="Martin">
And in the Test, the variable can be used like this :@Parameters({ "username" })
@Test
public void testSingleString(String firstName) {
System.out.println("Invoked testString " + firstName);
assert "Martin".equals(firstName);
}
Passing data to the Test using @DataProvider annotation in TestNg
Code snippet to create the test data
@DataProvider(name = "sample")
public static Object[][] getData() {
// Any code to fetch data.
Object[][] a = {
{ 1, "name" },
{ 2, "Place" },
{ 3, "email" },
{ 4, "skype" }
};
return a;
}
@Test(dataProvider = "sample")
public static void runTest(int number, String s) {
System.out.println("The value of a is : " + number + " and the string is : " + s);
}

No comments:
Post a Comment