testng 通过main方法向testng.xml传参
时间: 2023-09-24 08:11:33 浏览: 47
可以通过 TestNG 的 TestNGOptions 注解的属性 commandLineParameters 来传递参数。具体步骤如下:
1. 在 testng.xml 文件中定义参数,例如:
```
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="My suite">
<parameter name="browser" value="chrome"/>
<test name="My test">
<classes>
<class name="com.example.tests.MyTest"/>
</classes>
</test>
</suite>
```
2. 在测试类中获取参数,例如:
```
public class MyTest {
@Test
public void testMethod() {
String browser = System.getProperty("browser");
System.out.println("Browser is: " + browser);
}
}
```
3. 在运行测试时通过 main 方法传递参数,例如:
```
public static void main(String[] args) {
TestNG testng = new TestNG();
testng.setTestClasses(new Class[] { MyTest.class });
testng.setDefaultSuiteName("My suite");
testng.setCommandLineParameters(new String[] { "-Dbrowser=firefox" });
testng.run();
}
```
这里使用了 TestNGOptions 注解的属性 commandLineParameters 来传递参数。注意,传递的参数会覆盖 testng.xml 文件中定义的参数。