2017-01-10 2 views
0

Я работаю над кросс-браузерным тестированием, и каждый из методов тестирования в нескольких классах работает в 4 браузерах Chrome, Firefox, IE, Safari.Создайте собственный отчет testng html с именем браузера против имени метода

Отчеты testng HTML & сгенерированные отчеты степени содержат методы тестирования в столбце, но мне также нужно имя браузера для каждого метода тестирования.

Даже если теги testng HTML будут иметь имя браузера против метода тестирования, было бы замечательно.

Я нашел это link, но мне просто нужен столбец браузера рядом с колонкой метод для пользовательского отчета в ссылке

+0

Я не думаю, что есть что-то, что может легко решить вашу проблему. Вам нужно будет создать свой собственный репортер, чтобы это сделать. –

ответ

0

Вы можете сделать это, как here. Но было бы лучше использовать функции отчетности для этого, например. вы можете передать любое тестовое имя и описание для сообщения see docs.

0

Вы можете сделать это, создав индивидуальный TestHTMLReporter. Передайте любые данные в свой класс CustomReport.java и создайте собственный отчет, как показано ниже. Я также объяснил это here

С вашим 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

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

Смежные вопросы