Получить значение параметра из файла testNG.xml - PullRequest
0 голосов
/ 12 мая 2018

enter image description here

Я хочу напечатать значение "iPhone5" из ключа имя параметра = "webdriver.deviceName.iPhone" .

1 Ответ

0 голосов
/ 13 мая 2018

Есть два основных способа сделать это из тестового класса (тестовый класс - это, по сути, класс, содержащий один или несколько @Test / методов конфигурации)

  1. Через ITestContext объект.Вы можете получить доступ к объекту ITestResult текущего метода, вызвав Reporter.getCurrentTestResult().getTestContext()
  2. Используя 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);
  }
}
...