是否可以从Testng.xml文件传递变量的值?

时间:2019-04-23 11:07:01

标签: rest automated-tests testng testng-dataprovider

这是我的代码

public class Environment {

    public static String baseURL;

    public static String setURL(String paramSet) {

        /*
        @BeforeSuite
     @Parameters("env")
         */

        if (paramSet.equalsIgnoreCase("Production")) {
            baseURL = Constants.prodBase;

        } else if (paramSet.equalsIgnoreCase("Staging")) {
            baseURL = Constants.stagingBase;
        }
        return baseURL;
    }

    public static void getURL() {
        RestAssured.baseURI = setURL("Production");
    }
}

在方法getURL()中,我想在方法setURL(myvariable)中传递TestNG.xml文件中值为Staging/Production的参数。我知道我可以将其作为参数传递,但是此功能getURL()将在每次测试中调用,并且要求不要为此在每种方法中都传递参数。

1 个答案:

答案 0 :(得分:0)

Parameters({ "env-param" })
@BeforeSuite
public void prameterTestOne(String env) {
    System.out.println("Test one suite param is: " + env);
}

XML文件

<suite name="Parameter test Suite" verbose="1">
<!-- This parameter will be passed to every test in this suite -->
<parameter name="suite-param" value="Production / Staging" />
<test name="Parameter Test one">
    <classes>
        <class name="someClassName"> 
        </class>
    </classes>
</test>