Есть два основных способа сделать это из тестового класса (тестовый класс - это, по сути, класс, содержащий один или несколько @Test
/ методов конфигурации)
- Через
ITestContext
объект.Вы можете получить доступ к объекту ITestResult
текущего метода, вызвав Reporter.getCurrentTestResult().getTestContext()
- Используя Native-инъекцию, в которой 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);
}
}