Passing parameters in testng

Sometimes, we need to execute same test but with different parameter values. TestNG allows passing parameters to tests using 2 ways.
  • Using XML file
  • using Data Providers
In this topic, we are going to see how to pass parameter to the tests using XML file. As shown in below example, we have used @Parameters annotation to specify that test method accept one parameter with name browser.
 
package org.softpost;

import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class ParameterTest {

    @Test
    @Parameters("browser")
    public void parameterTest(String browser) {
        System.out.println("Browser Parameter value is -> " + browser);
    }
}

Here is the XML file wherein we have passed the value of the parameter – browser (Value is chrome) to tests.
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Softpost Suite">
    <test name="softpostTests" preserve-order="true" >
        <parameter name="browser" value="chrome"/>

        <packages>
            <package name="org.softpost"/>
        </packages>
    </test>
</suite>

Here is the output after executing above XML file.
 
[TestNG] Running:
C:UsersSagarIdeaProjectsTestNG-Projectsrc	est
esources	estng.xml

Browser Parameter value is -> chrome                    

Web development and Automation testing

solutions delivered!!