从testNG.xml文件

时间:2018-05-12 08:07:33

标签: java xml xml-parsing testng

enter image description here

我想从键参数name =“webdriver.deviceName.iPhone”打印值“iPhone5”

1 个答案:

答案 0 :(得分:2)

基本上有两种方法可以在Test Class中执行此操作(测试类本质上是一个包含一个或多个@Test /配置方法的类)

  1. 通过ITestContext对象。您可以致电ITestResult
  2. 访问当前方法的Reporter.getCurrentTestResult().getTestContext()对象
  3. 使用Native注入,其中您有TestNG注入ITestContext对象。有关原生注射的更多详细信息,请参阅TestNG文档here
  4. 这是一个展示这两种动作的示例。

    import org.testng.ITestContext;
    import org.testng.Reporter;
    import org.testng.annotations.BeforeClass;
    import org.testng.annotations.Test;
    
    public class SampleTestClass {
    
      private static final String KEY = "webdriver.deviceName.iPhone";
    
      @BeforeClass
      public void beforeClass(ITestContext context) {
        String value = context.getCurrentXmlTest().getParameter(KEY);
        System.err.println("webdriver.deviceName.iPhone = " + value);
      }
    
      @Test
      public void testMethod() {
        String value = Reporter.getCurrentTestResult().getTestContext().getCurrentXmlTest().getParameter(KEY);
        System.err.println("webdriver.deviceName.iPhone = " + value);
      }
    }