当前位置: 首页 > 知识库问答 >
问题:

cucumberjvm报告不生成

益阳平
2023-03-14

我想得到cucumber报告,但它没有生成。我得到这个错误在运行通过mvn清洁安装。我不能解决这个问题。我是自动化方面的新手...

/*在以Maven Clean安装方式运行期间,我遇到以下错误:

    [INFO] Scanning for projects...
    [INFO] 
    [INFO] -----------------< MobWebAutomation:MobWebAutomation >------------------
    [INFO] Building MobWebAutomation 1.0-SNAPSHOT
    [INFO] --------------------------------[ jar ]---------------------------------
    [INFO] 
    [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ MobWebAutomation ---
    [INFO] Deleting C:\Users\Rauf.mirzoyev\eclipse-workspace_Appium\MobWebAutomation\target
    [INFO] 
    [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ MobWebAutomation ---
    [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] Copying 0 resource
    [INFO] 
    [INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ MobWebAutomation ---
    [INFO] Nothing to compile - all classes are up to date
    [INFO] 
    [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ MobWebAutomation ---
    [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] Copying 1 resource
    [INFO] 
    [INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ MobWebAutomation ---
    [INFO] Changes detected - recompiling the module!
    [WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
    [INFO] Compiling 4 source files to C:\Users\Rauf.mirzoyev\eclipse-workspace_Appium\MobWebAutomation\target\test-classes
    [ERROR] /C:/Users/Rauf.mirzoyev/eclipse-workspace_Appium/MobWebAutomation/src/test/java/stepDefinitions/RegistrationWithValidCredentials.java:[116,55] unmappable character (0x8F) for encoding windows-1252
    [ERROR] /C:/Users/Rauf.mirzoyev/eclipse-workspace_Appium/MobWebAutomation/src/test/java/stepDefinitions/RegistrationWithValidCredentials.java:[116,61] unmappable character (0x8F) for encoding windows-1252
    [ERROR] /C:/Users/Rauf.mirzoyev/eclipse-workspace_Appium/MobWebAutomation/src/test/java/stepDefinitions/RegistrationWithValidCredentials.java:[116,64] unmappable character (0x8F) for encoding windows-1252
    [INFO] 
    [INFO] --- maven-surefire-plugin:2.22.0:test (default-test) @ MobWebAutomation ---
    [INFO] 
    [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ MobWebAutomation ---
    [INFO] Building jar: C:\Users\Rauf.mirzoyev\eclipse-workspace_Appium\MobWebAutomation\target\MobWebAutomation-1.0-SNAPSHOT.jar
    [INFO] 
    [INFO] --- maven-cucumber-reporting:5.0.0:generate (execution) @ MobWebAutomation ---
    [INFO] About to generate Cucumber report.
    Dec 29, 2021 10:31:50 AM net.masterthought.cucumber.ReportBuilder generateErrorPage
    INFO: Unexpected error
    net.masterthought.cucumber.ValidationException: None report file was added!
        at net.masterthought.cucumber.ReportParser.parseJsonFiles(ReportParser.java:62)
        at net.masterthought.cucumber.ReportBuilder.generateReports(ReportBuilder.java:88)
        at net.masterthought.cucumber.CucumberReportGeneratorMojo.execute(CucumberReportGeneratorMojo.java:209)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
    
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  7.525 s
    [INFO] Finished at: 2021-12-29T10:31:51+04:00
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal net.masterthought:maven-cucumber-reporting:5.0.0:generate (execution) on project MobWebAutomation: Error Found: BUILD FAILED - Check Report For Details -> [Help 1]
    [ERROR] 
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR] 
    [ERROR] For more information about the errors and possible solutions, please read the 

以下文章:[错误][帮助1]http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

     */
    

    
    /*My pom file:*/
    
  {  <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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>MobWebAutomation</groupId>
        <artifactId>MobWebAutomation</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <dependencies>
    
            <dependency>
                <groupId>io.appium</groupId>
                <artifactId>java-client</artifactId>
                <version>7.2.0</version>
            </dependency>
    
    
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-java</artifactId>
                <version>7.1.0</version>
            </dependency>
    
            <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-junit</artifactId>
                <version>7.0.0</version>
                <scope>test</scope>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    
    
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.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.22.0</version>
                    <configuration>
                        <includes>
                            <exclude>**/*Runner.java</exclude>
                        </includes>
                    </configuration>
                </plugin>
                
    
    
    <plugin>
            <groupId>net.masterthought</groupId>
            <artifactId>maven-cucumber-reporting</artifactId>
             <version>5.0.0</version>
            <executions>
              <execution>
                <id>execution</id>
                <phase>verify</phase>
                <goals>
                  <goal>generate</goal>
                </goals>
                <configuration>
                  <projectName>MobWebAutomation</projectName>
                  <outputDirectory>${project.build.directory}/cucumber-reports</outputDirectory>
                    <enableFlashCharts>true</enableFlashCharts>
                    <buildNumber>42</buildNumber> 
                   <parallelTesting>false</parallelTesting>
                    <inputDirectory>${project.build.directory}/cucumber-reports</inputDirectory>
                  <jsonFiles>
                  <jsonFile>**/*.json</jsonFile>
                  </jsonFiles>
                  <testFailureIgnore>true</testFailureIgnore>
                  <buildSuccessOnTestFailure>true</buildSuccessOnTestFailure>
                </configuration>
              </execution>
            </executions>
          </plugin>
            </plugins>
        </build>
    
    </project>
    
    }

    **Runner class** 
    
   { package runner;
    
    import org.junit.runner.RunWith;
    import io.cucumber.junit.CucumberOptions;
    import io.cucumber.junit.Cucumber;
    
    
    @RunWith(Cucumber.class)
    @CucumberOptions(features = { "src/test/java/features/registration.feature" }, 
                    glue = { "stepDefinitions",
                    "utility" }, monochrome = true, plugin = { "pretty",
                    
                    "json:target/cucumber-reports/AutomationReport.json",
                    "json:target/cucumber-reports/cucumber.runtime.formatter.JSONFormatter"
                    
                    
                    
                    }, 
                    dryRun = false)//, tags = "@correct or @incorrect")
    
    public class RunTest  {
    
    }

共有1个答案

邵伟
2023-03-14

谢谢大家,尤其是Raghav Pal和他的YouTube频道。

在所有步骤之后,需要执行“清洁验证”。在此操作之后,报告已成功生成。

更新的POM。xml:

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>MobWebAutomation</groupId>
    <artifactId>MobWebAutomation</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source> /* 1.8 it's your JDK version */
        <maven.compiler.target>1.8</maven.compiler.target>/* 1.8 it's your JDK version */
    </properties>

    <dependencies>
        <dependency>
            <groupId>io.appium</groupId>
            <artifactId>java-client</artifactId>
            <version>7.2.0</version>
        </dependency>

        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>7.1.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>7.0.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.0</version>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                </configuration>
            </plugin>
            <plugin>
                <groupId>net.masterthought</groupId>
                <artifactId>maven-cucumber-reporting</artifactId>
                <version>2.8.0</version>
                <executions>
                    <execution>
                        <id>execution</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <projectName>YOUR_PROJECT_Name</projectName>
                            <outputDirectory>${project.build.directory}/cucumber-report-html</outputDirectory>
                            <cucumberOutput>${project.build.directory}/cucumber.json</cucumberOutput>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

跑步者等级:

package runner;
import org.junit.runner.RunWith;

import io.cucumber.junit.CucumberOptions;
import io.cucumber.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(
    features = { "src/test/java/features/registration.feature" }, 
    glue = { "stepDefinitions", "utility" },
    monochrome = true,
    plugin = {
        "pretty",
        "json:target/Cucumber.json"                     
    }, 
    dryRun = false
) 
public class RunTest  {
    //
}

在你需要清理你的项目后-

来源:YouTube视频-Java BDD框架12 |如何创建HTML报告

 类似资料:
  • What the world really needs is more love and less paperwork. — Pearl Bailey 大型的基础设施架构往往是真正的第一受害者。如果你正管理着许多机器, 那么使用 Puppet 的报告设施,可以为你提供一些关于正在发生什么的有价值的信息。 操作步骤 要启用报告,只要将如下的行加入客户端的 puppet.conf 文件: report

  • mvn构建站点时不会生成Jacoco报告。 jacoco报告是在我的目标文件夹target\site\jacoco中生成的,但是不知何故,当我尝试构建jar站点时,我看不到“项目报告”下的“Jacoco测试”选项 在生成站点时,我在日志中看到的唯一内容如下: 我正在使用命令 mvn 全新安装站点 这是我如何在构建部分的pom.xml中配置Jacoco: 雅各插件被称为: 我不确定是什么导致了这个问

  • 我试图设置为我的项目的代码覆盖 我的项目基于 下面是我项目的 然后我运行并看到以下内容 然后我运行,我看到 问题 -配置中有什么不正确 -如何生成报告? 谢啦

  • 你能帮我做以下几件事吗? 进行量角器测试。

  • 问题内容: 我正在使用php代码查询数据库,结果将用于生成报告。 如果我想以pdf格式生成报告,该怎么办? 问题答案: 如果您的PDF文件中需要UTF支持,请考虑使用库。 从此处下载:http : //www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf 在您的脚本中:

  • 我正在AWS Codebuild/Codedeploy上运行测试,测试完成后,会生成一个Surefire HTML文件,但它是空的。当我在IntelliJ上本地运行测试时(不是通过MVN运行),各种JSON和XML测试报告都可以很好地创建。我完全无法理解为什么在IntelliJ上本地运行时会发生这种情况,而在AWS上通过MVN运行时会返回一个空报告。我完全被这件事困住了。 波姆。XML: 建筑规范