ITestResult.getTestName () в прослушивателе TestNG возвращает testname = null, несмотря на имя параметра @Test (testName = "Browser") в методе test - PullRequest
0 голосов
/ 09 апреля 2020

Как получить пользовательское testName теста в слушателе?

TestDemo. java

@Test(testName = "Browser", description = "This is browser test", priority = 1)
public void launchTest() throws IOException {

System.out.println("I am in the test");
               }

Класс слушателя

ListenerDemo.java

//some code

 public void onTestStart(ITestResult result) {

        System.out.println(result.getMethod().getDescription()); //return dexcription as expected
        System.out.println(result.getMethod().getPriority()); //return priority as expected


        //Already Tried options but none of them worked

        System.out.println("Name "+result.getName()); //returns Name = launchTest
        System.out.println("Name "+result.getTestName()); //returns Name = null
        System.out.println("Name "+ result.getMethod().getMethodName()); //returns Name = launchTest

        //I am expecting one of the statement should return Name="Browser"

      }

Уже посмотрел на ITestResult getTestName () возвращает нулевое значение, несмотря на установленное имя теста @Test (testName = "sth") , но это не дает никакого полезного ответа

Я использую TestNG версии 7.1.0 .

1 Ответ

1 голос
/ 09 апреля 2020

После некоторого исследования я выяснил это, и это сработало для меня

public void onTestStart(ITestResult result) {

     Method method = result.getMethod().getConstructorOrMethod().getMethod();
     Test test = method.getAnnotation(Test.class);
     String testname = test.testName();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...