testng配置文件,必须配置参数: <parameter name="platformName" value="WebChrome"/>,具体如下所示
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<parameter name="platformName" value="WebChrome"/>
<parameter name="appPackage" value="com.apple.test"/>
<test name="Test">
<classes>
<class name="demo.testng.TT"/>
</classes>
</test>
</suite>
测试类如下,必须是运行testng.xml文件才能将配置文件中的参数通过上下文(ITestContext)方式传递到代码中,直接运行@Test标注的测试方法获取不到,返回null
public class TT {
@BeforeSuite
public void init(ITestContext iTestContext) {
String packName = iTestContext.getCurrentXmlTest().getParameter("platformName");
System.out.println(packName);
}
/**
* 方法1:通过上下文iTestContext方式,获取testng.xml中指定的参数值
* @param iTestContext
*/
@Test
public void test_testNgDemo(ITestContext iTestContext){
String packName = iTestContext.getCurrentXmlTest().getParameter("appPackage");
System.out.println(packName);
}
/**
* 方法2:参数注解方式
* @param platformName
*/
@Test
@Parameters("platformName")
public void test_testNgDem1(String platformName){
System.out.println(platformName);
}
public static void main(String[] args) {
}
}