java - Allure reporting does not generate with mvn test -Darguments -


problem: using allure reporting generate reports after running tests, when run tests manually within eclipse allure-results directory created inside /target/allure-results directory.

however, when pass in arguments after calling maven command line, this:

call mvn clean  call mvn test -dbrowser=chrome -dseleniumenvironment=local -dreporttogenerate=censoredconfigsetting -dcucumber.options="--tags @censoredtag  

note: mvn clean test does generate allure-reports command line, why arguments breaking this?

this instead, creating /cucumber/results/ directory in /target, confused why differs, doesn't seem these tags should have problems there, suspect possibly pom.xml causing issues.

<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelversion>4.0.0</modelversion>    <groupid>org.kore</groupid>    <artifactid>kore-automation</artifactid>    <version>0.0.1</version>    <packaging>jar</packaging>    <name>kore-automation</name>    <properties>       <maven.build.timestamp.format>yyyy-mm-dd</maven.build.timestamp.format>       <build.number>${maven.build.timestamp}/${platform}/${platformversion}/${browser}/${browserversion}</build.number>       <reports.directory>${project.build.directory}/../reports/${build.number}</reports.directory>       <cucumber.tags>~@ignore</cucumber.tags>       <!-- needed allure-maven-plugin specify report version -->       <aspectj.version>1.8.4</aspectj.version>    </properties>    <dependencies>       <dependency>          <groupid>org.seleniumhq.selenium</groupid>          <artifactid>selenium-java</artifactid>          <version>3.0.0</version>       </dependency>       <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->       <dependency>          <groupid>org.slf4j</groupid>          <artifactid>slf4j-api</artifactid>          <version>1.8.0-alpha2</version>       </dependency>       <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->       <dependency>          <groupid>org.slf4j</groupid>          <artifactid>slf4j-log4j12</artifactid>          <version>1.8.0-alpha2</version>          <scope>test</scope>       </dependency>       <dependency>          <groupid>org.hamcrest</groupid>          <artifactid>hamcrest-junit</artifactid>          <version>2.0.0.0</version>       </dependency>       <dependency>          <groupid>org.seleniumhq.selenium</groupid>          <artifactid>selenium-server</artifactid>          <version>3.0.0</version>          <scope>test</scope>       </dependency>       <dependency>          <groupid>ru.yandex.qatools.allure</groupid>          <artifactid>allure-cucumber-jvm-adaptor</artifactid>          <version>1.6.3</version>       </dependency>       <dependency>          <groupid>info.cukes</groupid>          <artifactid>cucumber-java</artifactid>          <version>1.2.4</version>          <scope>test</scope>       </dependency>       <dependency>          <groupid>junit</groupid>          <artifactid>junit</artifactid>          <version>4.12</version>          <scope>test</scope>       </dependency>       <dependency>          <groupid>com.google.guava</groupid>          <artifactid>guava</artifactid>          <version>16.0.1</version>       </dependency>       <dependency>          <groupid>net.masterthought</groupid>          <artifactid>cucumber-reporting</artifactid>          <version>3.7.0</version>       </dependency>       <dependency>          <groupid>com.microsoft.sqlserver</groupid>          <artifactid>mssql-jdbc</artifactid>          <version>6.1.0.jre8</version>          <scope>test</scope>       </dependency>       <dependency>          <groupid>org.codehaus.jackson</groupid>          <artifactid>jackson-core-asl</artifactid>          <version>1.9.13</version>       </dependency>       <dependency>          <groupid>com.github.temyers</groupid>          <artifactid>cucumber-jvm-parallel-plugin</artifactid>          <version>2.1.0</version>       </dependency>    </dependencies>    <profiles>       <profile>          <id>read-properties</id>          <activation>             <file>                <exists>src/test/resources/config.properties</exists>             </file>          </activation>          <build>             <plugins>                <plugin>                   <groupid>org.codehaus.mojo</groupid>                   <artifactid>properties-maven-plugin</artifactid>                   <version>1.0-alpha-2</version>                   <executions>                      <execution>                         <phase>validate</phase>                         <goals>                            <goal>read-project-properties</goal>                         </goals>                         <configuration>                            <files>                               <file>src\test\resources\config.properties</file>                            </files>                         </configuration>                      </execution>                   </executions>                </plugin>             </plugins>          </build>       </profile>    </profiles>    <build>       <plugins>          <plugin>             <groupid>com.github.temyers</groupid>             <artifactid>cucumber-jvm-parallel-plugin</artifactid>             <version>4.1.0</version>             <executions>                <execution>                   <id>generaterunners</id>                   <phase>generate-test-sources</phase>                   <goals>                      <goal>generaterunners</goal>                   </goals>                   <configuration>                      <!-- mandatory -->                      <!-- comma separated list of package names scan glue code -->                      <glue>                         <package>webdriver</package>                         <package>censored</package>                         <package>censored</package>                         <package>testrunner</package>                      </glue>                      <outputdirectory>${project.build.directory}/generated-test-sources/cucumber</outputdirectory>                      <!-- directory, must in root of runtime classpath, containing feature files.  -->                      <featuresdirectory>src/test/java/</featuresdirectory>                      <!-- directory cucumber report files shall written  -->                      <!-- cucumberoutputdir>target/cucumber-parallel</cucumberoutputdir-->                      <!-- comma separated list of output formats json,html,rerun.txt -->                      <!-- format>json</format-->                      <!-- cucumberoptions.strict property -->                      <!-- strict>true</strict>-->                      <!-- cucumberoptions.monochrome property -->                      <monochrome>true</monochrome>                      <!-- tags run, maps cucumberoptions.tags property can pass anded tags "@tag1","@tag2" , ored tags "@tag1,@tag2,@tag3" -->                      <tags />                      <!-- if set true, feature files containing required tags shall generated. -->                      <filterfeaturesbytags>false</filterfeaturesbytags>                      <!-- generate testng runners instead of default junit ones. -->                      <usetestng>false</usetestng>                      <!-- naming scheme use generated test classes.  1 of 'simple' or 'feature-title' -->                      <namingscheme>simple</namingscheme>                      <!-- class naming pattern use.  required/used if naming scheme 'pattern'.-->                      <namingpattern>parallel{c}it</namingpattern>                      <!-- 1 of [scenario, feature]. scenario generates 1 runner per scenario.  feature generates runner per feature. -->                      <parallelscheme>feature</parallelscheme>                   </configuration>                </execution>             </executions>          </plugin>          <plugin>             <groupid>org.apache.maven.plugins</groupid>             <artifactid>maven-compiler-plugin</artifactid>             <version>3.2</version>             <configuration>                <encoding>utf-8</encoding>                <source>1.7</source>                <target>1.7</target>                <compilerargument>-werror</compilerargument>             </configuration>          </plugin>          <plugin>             <groupid>org.apache.maven.plugins</groupid>             <artifactid>maven-failsafe-plugin</artifactid>             <version>2.18.1</version>          </plugin>          <plugin>             <groupid>ru.yandex.qatools.allure</groupid>             <artifactid>allure-maven-plugin</artifactid>             <version>2.6</version>          </plugin>          <plugin>             <groupid>org.apache.maven.plugins</groupid>             <artifactid>maven-surefire-plugin</artifactid>             <version>2.19.1</version>             <configuration>                <testfailureignore>false</testfailureignore>                <argline>-javaagent:${settings.localrepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar                 -dcucumber.options="--plugin ru.yandex.qatools.allure.cucumberjvm.allurereporter"</argline>                <properties>                   <property>                      <name>listener2</name>                      <value>/core-automation/src/test/java/testrunner/customallurelistener</value>                   </property>                </properties>                <forkcount>10</forkcount>                <reuseforks>true</reuseforks>                <includes>                   <include>**/*it.class</include>                </includes>             </configuration>             <dependencies>                <dependency>                   <groupid>org.aspectj</groupid>                   <artifactid>aspectjweaver</artifactid>                   <version>${aspectj.version}</version>                </dependency>             </dependencies>          </plugin>       </plugins>       <pluginmanagement>          <plugins>             <!--this plugin's configuration used store eclipse m2e settings only. has no influence on maven build itself.-->             <plugin>                <groupid>org.eclipse.m2e</groupid>                <artifactid>lifecycle-mapping</artifactid>                <version>1.0.0</version>                <configuration>                   <lifecyclemappingmetadata>                      <pluginexecutions>                         <pluginexecution>                            <pluginexecutionfilter>                               <groupid>org.codehaus.mojo</groupid>                               <artifactid>properties-maven-plugin</artifactid>                               <versionrange>[1.0-alpha-2,)</versionrange>                               <goals>                                  <goal>read-project-properties</goal>                               </goals>                            </pluginexecutionfilter>                            <action>                               <ignore />                            </action>                         </pluginexecution>                         <pluginexecution>                            <pluginexecutionfilter>                               <groupid>com.github.temyers</groupid>                               <artifactid>cucumber-jvm-parallel-plugin</artifactid>                               <versionrange>[4.1.0,)</versionrange>                               <goals>                                  <goal>generaterunners</goal>                               </goals>                            </pluginexecutionfilter>                            <action>                               <ignore />                            </action>                         </pluginexecution>                      </pluginexecutions>                   </lifecyclemappingmetadata>                </configuration>             </plugin>          </plugins>       </pluginmanagement>    </build> </project> 

i noticed when generate parallel .it files run tests in parallel, each reference:

plugin = {"json:c:/users/sy/git/censor/censor/target/cucumber-parallel/1.json"} 

still tad confused because when running inside eclipse -> run as: maven build... -> clean test not have these json files created, when passing in command mvn args them

looking more closely, when pass in -dcucumber.options tags in mvn call, seems overwriting -dcucumber.options="--plugin ru.yandex.qatools.allure.cucumberjvm.allurereporter" inside surefire plugin in pom.xml

thanks time, appreciated.

after long morning i've figured out problem, passing of -dcucumber.options tags overwriting maven surefire argline allurereporter.

fixed running following:

call mvn clean test -dbrowser=chrome -dseleniumenvironment=local -dcucumber.options="--plugin ru.yandex.qatools.allure.cucumberjvm.allurereporter --tags @censoredtag" call mvn allure:report  

and removing -dcucumber.options argline maven surefire plugin.


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -