前言
TestNG参数化有两种方式,一种通过Parameters和TestNG.xml设置参数,一种通过数据提供者@DataProvider提供参数,通过DataProvider参数化,可以看我另外一篇《TestNG参数化之DataProvider》博文。
这一篇主要说明parameters使用,都需要和TestNG.xml结合使用,在测试脚本有两种实现方式。
TestNG.xml配置如下:
<suite name="testproj" parallel="false" object-factory="com.proj.Guice.UserAppFactory" >
<parameter name="otherName" value=" testNG!"/>
<test name="testDemo1">
<parameter name="valueName" value="hello world!"/>
....
</test>
....
</suite>
主要格式是
<parameter name="otherName" value=" testNG!"/>
在套件suite中,test外配置的参数,suite中的test都可以使用,假如在test中配置的参数,那么只有该test才能使用。
实现方式一
使用注解@Parameters
@Parameters({"valueName"})
@Test
public void testcase3(String value){
System.out.println(value);
}
其中里面指定那个参数名
运行结果
create test :com.testproj.Demo.TestDataProvider@38bc8ab5
[TestNG] Running:
E:\OPPO\JavaProject\TestNGProj\res\testNG.xml
hello world!
实现方式二
通过@Test的属性parameters来实现
@Test(parameters = {"valueName","otherName"})
public void testcase4(String value,String other){
System.out.println(value + other);
}
可以多个参数输入
运行结果
create test :com.testproj.Demo.TestDataProvider@38bc8ab5
[TestNG] Running:
E:\OPPO\JavaProject\TestNGProj\res\testNG.xml
hello world! testNG!
完成