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