从 testNG.xml 文件中检索参数值

Vig*_*esh 0 java xml testng xml-parsing

在此处输入图片说明

我想从关键参数名称 ="webdriver.deviceName.iPhone"打印值"iPhone5 "

Kri*_*van 5

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

  1. 通过ITestContext对象。您可以ITestResult通过调用访问当前方法的对象Reporter.getCurrentTestResult().getTestContext()
  2. 使用本地注入,其中您让 TestNG 注入一个ITestContext对象。有关本机注入的更多详细信息,请参阅此处的 TestNG 文档

这是一个示例,显示了这两种操作。

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);
  }
}
Run Code Online (Sandbox Code Playgroud)