Файл testng-results.xml
создается встроенным репортером TestNG org.testng.reporters.XMLReporter
.Этот репортер запускается только на этапе создания отчетов (т. Е. Только после того, как все наборы завершены).
Таким образом, невозможно создать этот файл до завершения аннотированного метода @AfterSuite
..
Вместо этого вы можете построить свою логику построения отчетов на основе яшмы через слушатель org.testng.IExecutionListener
в его методе onExecutionFinish()
.
Этот слушатель будет вызван после фазы создания отчетов, на которой были сгенерированы все отчеты.
Другой вариант заключается в следующем:
- Создать новыйрепортер, который расширяет
org.testng.reporters.XMLReporter
- Настройте TestNG, чтобы не запускать отчеты по умолчанию.Например, если вы использовали Maven в качестве инструмента сборки и использовали surefire-plugin, то вы можете сконфигурировать surefire-plugin, чтобы отключить отчеты по умолчанию, добавив следующие
<properties>
<property>
<name>usedefaultlisteners</name>
<value>false</value>
</property>
</properties>
Подключите прослушиватель, который вы создали в (1), с помощью:
@Listeners
аннотации (или) <listeners>
тега (или) - Использование сервисных загрузчиков[См. здесь ]