来自eclipse的Maven黄瓜报告没有根据此插件生成报告

时间:2017-12-19 09:29:44

标签: eclipse maven selenium cucumber cucumber-jvm

尝试根据maven黄瓜报告生成报告 Link to maven cucumber reporting

在pom.xml文件中进行必要的更改,如tutorial on configuring reports

所述

但报告是在简单的html文件中生成的,但不是根据黄瓜报告生成的。

的pom.xml

   <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.3</version>
                    <configuration>
                        <source>1.${java.version}</source>
                        <target>1.${java.version}</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.20</version>
                    <configuration>
                        <!-- <testFailureIgnore>true</testFailureIgnore> -->
                        <includes>
                            <exclude>**/*RunCukesTest.java</exclude>
                            <!-- <include>**/*RunCukesTest.java</include> -->
                        </includes>
                        <!-- <excludes> <exclude>**/*RunCukesTest.java</exclude> </excludes> -->
                    </configuration>
                </plugin>
                <!-- This is for Cucumber Custom Report plug in we specify the configuration 
                    details under configuration tag. -->
                <!-- http://startingwithseleniumwebdriver.blogspot.com/2016/05/custom-cucumber-reporting-using-maven.html -->
                 <plugin>
                    <groupId>net.masterthought</groupId>
                    <artifactId>maven-cucumber-reporting</artifactId>
                    <version>3.11.0</version>
                    <executions>
                        <execution>
                            <id>execution</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                            <configuration>
                                <projectName>CucumberReport</projectName>
                                <outputDirectory>${project.build.directory}/site/cucumber-reports</outputDirectory>
                                <!-- <cucumberOutput>${project.build.directory}/cucumber.json</cucumberOutput> -->
                                <jsonFiles>
                                    <param>${project.build.directory}/cucumber.json</param>
                                </jsonFiles>
                                <!-- <parallelTesting>false</parallelTesting> -->
                                <buildNumber>1</buildNumber>
                                <checkBuildResult>false</checkBuildResult>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>

RunCukesTest.java

@RunWith(Cucumber.class)
@CucumberOptions(
        features = {"classpath:features"},
        plugin = {"html:target/site/cucumber-pretty","json:target/cucumber.json"},
        tags = {"@currentTest"},
        glue={"helpers","stepDefinitions"},
        monochrome = true
        )
public class RunCukesTest{

}

报告就像这样生成 generated report

与预期不同 expected report

3 个答案:

答案 0 :(得分:1)

POM.XML ::

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>

     <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.21.0</version>
         <configuration>
            <testFailureIgnore>true</testFailureIgnore>
            <includes>
            <include>**/TestRunner.java</include>
            </includes>
         </configuration>
     </plugin>


   <plugin>
  <groupId>net.masterthought</groupId>
<artifactId>maven-cucumber-reporting</artifactId>
<version>4.5.0</version>
  <executions>
  <execution>
  <id>execution</id>
  <phase>test</phase>
<goals>
 <goal>generate</goal>
 </goals>
<configuration>
<!--   <projectName>imademethink_cucumber_advanced_reporting</projectName>  -->
 <outputDirectory>${project.build.directory}/site/cucumber-reports-advanced</outputDirectory>
 <cucumberOutput>${project.build.directory}/cucumber/cucumber.json</cucumberOutput>
 <skippedFails>true</skippedFails>
 <enableFlashCharts>false</enableFlashCharts>
<!--  <buildNumber>885</buildNumber> --> 
<buildNumber>8.4.1.2</buildNumber>
 </configuration>
</execution>
</executions>
</plugin>        










 </plugins>
 </build>

答案 1 :(得分:0)

所有配置都很好, 做了两处改变。

  1. 已删除pom中的pluginManagement标记
  2. 使用cucumberOutput输出目录而不是jsonFiles。出于某种原因,jsonFiles正在生成重复的报告。
  3. pom文件,

          <build>
           <plugins>
              <plugin>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <version>3.3</version>
                 <configuration>
                    <source>1.${java.version}</source>
                    <target>1.${java.version}</target>
                 </configuration>
              </plugin>
              <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <version>2.20</version>
                 <configuration>
                    <includes>
                       <exclude>**/*RunCukesTest.java</exclude>
                    </includes>
                    <testFailureIgnore>true</testFailureIgnore>
                 </configuration>
              </plugin>
              <plugin>
                 <groupId>net.masterthought</groupId>
                 <artifactId>maven-cucumber-reporting</artifactId>
                 <version>3.13.0</version>
                 <executions>
                    <execution>
                       <id>execution</id>
                       <phase>verify</phase>
                       <goals>
                          <goal>generate</goal>
                       </goals>
                       <configuration>
                          <projectName>Simplify360 Automation Test Report</projectName>
                          <outputDirectory>${project.build.directory}/site/cucumber-reports</outputDirectory>                      
       <cucumberOutput>${project.build.directory}/cucumber.json</cucumberOutput>
                          <buildNumber>8.4.1.2</buildNumber>
                       </configuration>
                    </execution>
                 </executions>
              </plugin>
           </plugins>
        </build>
    

答案 2 :(得分:0)

您需要将标志设置如下

<checkBuildResult>true</checkBuildResult>

在下面的问题网址中找到我的答案

Reports are not generated when the build is failed in Maven Cucumber Reports