2016-06-23 12 views
1

Ich benutze Selen-Webdriver mit Java. Ich verwende testNG, nach der Ausführung bekomme ich den Standardbericht. Aber sobald ich die Suite neu starte, werden die vorherigen Ergebnisse überschrieben.Testberichte erstellen, ohne das vorherige Testergebnis zu überschreiben?

Können wir Testberichte generieren, ohne das vorherige Testergebnis zu überschreiben?

Benötigen wir ein Build-Tool? Wenn ja, wie macht man das mit Maven?

Antwort

0

Ja, Sie könnten Berichte erstellen, ohne vorher zu überschreiben.

Um dies zu erreichen, müssen Sie das Berichtsausgabeverzeichnis parametrieren.

Ich weiß nicht, wie es mit reinem TestNG zu tun, sondern mit Maven-todsichere-Plugin, es ist ganz einfach:

<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> 

Dieses separates Verzeichnis für jeden Lauf schaffen aktuelle Zeitstempel als eindeutige Suffix .

0

Wenn Sie einen Pfad zu dem Verzeichnis, haben Sie den Bericht speichern, und wollen früheren Berichten für die Zukunft halten können Sie Zeit, um den Namen des Berichts Stempel

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");