Генерация отчетов HTML TestNG - PullRequest
1 голос
/ 25 марта 2011

Я хочу генерировать отчеты HTML testNG. По умолчанию у нас есть файл отчета после запуска testNG, который называется «emailable-reports». Но теперь я хочу создать свой собственный отчет HTML. Я пытался использовать ITestListener и ITestReport.But, даже если я переопределил эти методы, он ничего не делает. Я не знаю, как и где использовать эти методы. У меня есть два теста. Так что теперь, где я должен поставить код для создания отчетов ...

Ответы [ 4 ]

1 голос
/ 13 октября 2012

@ Феанор - В соответствии с вашей реализацией

################
  Implementing an instance of IReporter and the generateReport(List<ISuite> suites, String outputDirectory)
#################

У нас здесь проблема. Предположим, что мы реализовали в качестве экземпляра Ireporter, скажем «CustomReporter», и переопределили generateReport, который вызывается добавлением слушателя в xml-файл

После этого testng ТАКЖЕ вызовет EmailableReport, который также реализует Ireporter, который возвращается к отчету testNg по умолчанию

1 голос
/ 25 марта 2011

Согласно документации реализации интерфейса ITestListener предназначены для создания отчетов в режиме реального времени, а реализации интерфейса IReporter предназначены для генерации отчетов послезапуск набора завершен.

Реализация экземпляра IReporter и метода generateReport(List<ISuite> suites, String outputDirectory) должна позволить вам посмотреть результаты теста и создать отчет в формате HTML.

0 голосов
/ 29 ноября 2017

Я знаю, что это старая ветка, но я объяснил здесь , как настроить TestHTMLReporter и вот она:

С вашим customReport Вы должны реализоватьIReporter, расширение TestListenerAdapter и переопределение метода generateReport, если вы хотите реализовать пользовательский TestHTMLReporter.Для других репортеров вам, возможно, придется действовать по-другому, но концепция останется прежней.Вы получите собственный 'TestHTMLReporter', как показано ниже.

Создайте файл CustomReport.java в своем проекте и скопируйте и вставьте все содержимое TestHTMLReporter.java, измените имя файла в методе getOutputFile и введитебудет выглядеть следующим образом:

public class CustomReport  extends TestListenerAdapter implements IReporter {

     @Override
        public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites,
                                   String outputDirectory) {

        }
   ...
   //paste the content of TestHTMLReporter.java here
   ...
   ...

Убедитесь, что все ваши операции импорта выполнены с TestHTMLReporter.java Теперь, в этом файле измените в соответствии с вашими требованиями.Например: если вы хотите добавить время окончания каждого теста, то в правильном месте в методе generateTable добавьте приведенный ниже фрагмент

// Test class
      String testClass = tr.getTestClass().getName();
       long testMillis = tr.getEndMillis();
        String testMillisString = Long.toString(testMillis);
      if (testClass != null) {
        pw.append("<br>").append("Test class Name: ").append(testClass);

         // this line to add end time in ms
        pw.append("<br>").append("End Time(ms): ").append(testMillisString); 
        // Test name
        String testName = tr.getTestName();
        if (testName != null) {
          pw.append(" (").append(testName).append(")");

        }   

Тогда вы получите, как показано ниже

enter image description here

Теперь вы получите два отчета: один по умолчанию, а другой - с именем вашего файла.Теперь остается только отключить прослушиватели отчетов по умолчанию, так что вы получите только один отчет.Для этого вы можете следовать этому или искать решения.Надеюсь, это поможет

0 голосов
/ 26 сентября 2016

вы можете использовать QAF , с помощью которого вы сможете сгенерировать панель отчетов на основе json .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...