2017-07-13 3 views
1

Ich verwende Gauge framework für meine automatisierte Tests und ich möchte Allure verwenden, um Berichte zu generieren. Leider hat Allure keinen Adapter dafür. Mein Projekt besteht aus mehreren Modulen, von denen jedes seine eigene pom.xml hat.Gauge Framework und Allure Bericht Integration in Multimodul Maven-Projekt

Haupt pom.xml (Fragment):

<modules> 
     <module>libs/common</module> 
     <module>tests/panda-api</module> 
     <module>tests/dbus-api</module> 
    </modules>  
    <dependencies> 
     <dependency> 
      <groupId>com.thoughtworks.gauge</groupId> 
      <artifactId>gauge-java</artifactId> 
      <version>0.6.0</version> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.12</version> 
     </dependency> 
    </dependencies>  
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.3</version> 
       <configuration> 
        <encoding>UTF-8</encoding> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

Submodul (Panda-api) pom.xml:

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <allure.version>1.5.0.RC2</allure.version> 
    <aspectj.version>1.8.5</aspectj.version> 
</properties> 
<dependencies> 
    <dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-junit-adaptor</artifactId> 
     <version>${allure.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-bundle</artifactId> 
     <version>${allure.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-site-plugin</artifactId> 
     <version>3.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjweaver</artifactId> 
     <version>${aspectj.version}</version> 
    </dependency> 
</dependencies> 
<build> 
    <plugins> 
     <plugin> 
      <groupId>com.thoughtworks.gauge.maven</groupId> 
      <artifactId>gauge-maven-plugin</artifactId> 
      <version>1.1.0</version> 
      <executions> 
       <execution> 
        <phase>test</phase> 
        <configuration> 
         <specsDir>specs</specsDir> 
        </configuration> 
        <goals> 
         <goal>execute</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.19</version> 
      <configuration> 
       <testFailureIgnore>false</testFailureIgnore> 
       <argLine> 
        -Xmx1600m -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" 
       </argLine> 
       <properties> 
        <property> 
         <name>listener</name> 
         <value>ru.yandex.qatools.allure.junit.AllureRunListener</value> 
        </property> 
       </properties> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>org.aspectj</groupId> 
        <artifactId>aspectjweaver</artifactId> 
        <version>${aspectj.version}</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
     <plugin> 
      <groupId>io.qameta.allure</groupId> 
      <artifactId>allure-maven</artifactId> 
      <version>2.8</version> 
      <configuration> 
       <inputDirectories>${project.basedir}/reports/xml-report</inputDirectories> 
       <resultsDirectory>allure-results</resultsDirectory> 
       <reportDirectory>allure-report</reportDirectory> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>9.2.10.v20150310</version> 
      <configuration> 
       <webAppSourceDirectory>${project.build.directory}/site/allure-maven-plugin</webAppSourceDirectory> 
       <stopKey>stop</stopKey> 
       <stopPort>1234</stopPort> 
       <httpConnector> 
        <port>8090</port> 
       </httpConnector> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
<reporting> 
    <excludeDefaults>true</excludeDefaults> 
    <plugins> 
     <plugin> 
      <groupId>io.qameta.allure</groupId> 
      <artifactId>allure-maven</artifactId> 
      <version>2.8</version> 
      <configuration> 
       <resultsDirectory>allure-results</resultsDirectory> 
       <reportDirectory>allure-report</reportDirectory> 
      </configuration> 
     </plugin> 
    </plugins> 
</reporting> 

I die folgenden Befehle aus dem Stammverzeichnis des Projektes auszuführen:

Messgerät generieren eigenen XML-Bericht zu 'reports/xml-report/result.xml' in JUnit XML-Schema-Format. Allure generiert einen leeren Bericht zu 'allure-report', da keine Verführungsergebnisse generiert werden. Wie generiert man den Allure-Bericht basierend auf Gauge xml-result?

Antwort

Verwandte Themen