本文介绍了从testNG.xml文件中检索参数值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要从键参数名称="webdriver.deviceName.iPhone" 打印值"iPhone5" .
推荐答案
在测试类中,您基本上可以通过两种方式进行此操作(测试类本质上是一个包含一个或多个 @Test的类.
/配置方法)
There are basically two ways in which you do this from within a Test Class (A test class is essentially a class that houses one or more @Test
/configuration methods)
- 通过
ITestContext
对象.您可以通过调用Reporter.getCurrentTestResult().getTestContext()
来访问当前方法的 - 使用Native注入,其中您拥有TestNG注入一个
ITestContext
对象.有关本机注入的更多详细信息,请参见TestNG文档此处
ITestResult
对象.- Via the
ITestContext
object. You can get access to the current method'sITestResult
object by callingReporter.getCurrentTestResult().getTestContext()
- Using Native injection wherein you have TestNG inject a
ITestContext
object. For more details on native injection please refer to the TestNG documentation here
这里有一个示例,展示了这两种方法的作用.
Here's a sample that shows both these in action.
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);
}
}
这篇关于从testNG.xml文件中检索参数值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!