2016-06-23 4 views
1

Я использую selenium-webdriver с помощью java. Я использую testNG, после выполнения получаю отчет по умолчанию. Но как только я снова запустил пакет, предыдущие результаты перечеркивают.Создавать отчеты testng без перезаписывания предыдущего результата тестового вывода?

Можем ли мы генерировать отчеты testng, не перезаписывая результат предыдущего тестового вывода?

Нужен ли какой-либо инструмент для сборки? Если да, то как это сделать с maven?

ответ

0

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

Для этого вам необходимо параметризовать директорию вывода отчета.

Я не знаю, как сделать это с чистым TestNG, но с Maven-безошибочный-плагин это довольно просто:

<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <configuration> 
      <suiteXmlFiles> 
       <suiteXmlFile>testng-suite.xml</suiteXmlFile> 
      </suiteXmlFiles> 
      <reportsDirectory>report_${maven.build.timestamp}</reportsDirectory> 
     </configuration> 
    </plugin> 
</plugins> 

Это создаст отдельный каталог для каждого прогона с использованием текущего времени, как уникальный суффикс ,

0

Если у вас есть путь к каталогу, вы хранящий отчет, и хотите сохранить прошлые отчеты для справок в будущем вы можете время штамповать имя отчета

Calendar cal = Calendar.getInstance(); 
    Date time=cal.getTime(); 
    String timestamp=time.toString(); 
    String systime=timestamp.replace(":", "-"); 
    int year = cal.get(Calendar.YEAR); 
    int month = (cal.get(Calendar.MONTH)+1); 
    int day = cal.get(Calendar.DAY_OF_MONTH); 



    public void generateReport (List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) { 
    extent = new ExtentReports("C:\\XAMPP\\htdocs\\TestReports\\TestReport" + " " + systime + "_" + Constants.U360_VERSION +".html"); 
Смежные вопросы