user3635140
user3635140

Reputation: 11

Unable to generate allure reports

mvn site is always looking for allure-results in /target directory. But allure-results directory is getting generated in my project base directory.

  1. How to generate the allure-results in different directory.
  2. How to make the mvn site to refer allure-results from different directory?

I'm using allure 2 and below is my pom file config.

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <cucumber.version>1.2.5</cucumber.version>
    <extentreports.version>3.0.6</extentreports.version>
    <spring.version>4.1.5.RELEASE</spring.version>
    <selenium.version>3.4.0</selenium.version>
    <testng.version>6.10</testng.version>
    <aspectj.version>1.8.10</aspectj.version>
    <allure.results.directory>allure-results</allure.results.directory>
        <allure.report.directory>${basedir}\test-output\allure-report</allure.report.directory>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <allure.results_pattern>allure-results</allure.results_pattern>
</properties>


....
 <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.21.0</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>TestNG.xml</suiteXmlFile>
                    </suiteXmlFiles>
                    <argLine>
                        -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                    </argLine>
                    <systemProperties>
                    <property>
                        <name>allure.results.directory</name>
                        <value>${allure.results.directory}</value>
                    </property>
                </systemProperties>
<!--                 <resultsDirectory>${allure.results.directory}</resultsDirectory> -->
<!--                 <reportsDirectory>${allure.report.directory}</reportsDirectory> -->
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>${aspectj.version}</version>
                    </dependency>
                </dependencies>
        </plugin>

        .... 

        <dependency>
             <groupId>io.qameta.allure</groupId>
             <artifactId>allure-testng</artifactId>
             <version>2.6.0</version>
    </dependency>


    ....


        <reporting>
        <excludeDefaults>true</excludeDefaults>
        <plugins>
            <plugin>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-maven</artifactId>
                <version>2.9</version>

                    <configuration>
                        <reportVersion>2.6.0</reportVersion>
                        <resultsPattern>${allure.results_pattern}</resultsPattern>
    <!--                     <outputDirectory>${allure.report.directory}</outputDirectory> -->
    <!--                     <allureResultsDirectory>${allure.results.directory}</allureResultsDirectory> -->
                        <resultsDirectory>${allure.results.directory}</resultsDirectory>
                        <reportDirectory>${allure.report.directory}</reportDirectory>
                    </configuration>
            </plugin>
        </plugins>
</reporting>

Upvotes: 0

Views: 5401

Answers (1)

Dmitry Mayer
Dmitry Mayer

Reputation: 391

You can change allure-results generation path by creating src/test/resources/allure.properties file with following content:

allure.results.directory=target/allure-results

Updated Also it'd be a good idea to clean your pom.xml from all allure-results variables after creating allure.properties

Upvotes: 0

Related Questions