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

无法从命令行运行cucumber测试-成功构建响应(没有错误)

寿意远
2023-03-14

没有什么要编译的-所有的类都是最新的-从maven-编译器-插件得到这个响应,并且没有为Selenium-Cucumber Test Runner文件执行测试用例

更改以test结尾的TestRunner名称。在POM. xml文件中添加了以下配置

         <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.18</version>
    <configuration>
    <includes>
    <excludes>**/*TestRunnertest.java</excludes>
    </includes>
    </configuration>
    </plugin>
<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>corporate</groupId>
  <artifactId>web</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>web</name>
  <url>http://maven.apache.org</url>


<properties>

 <project.build.sourceEncoding>UTF8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  <build>
    <plugins>

    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.6.1</version>
    </plugin>


  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.18</version>
    <configuration>
    <includes>
    <excludes>**/*TestRunnertest.java</excludes>
    </includes>
    </configuration>
    </plugin>

  </plugins>
  </build>
  <dependencies>
    <dependency>
    <groupId>com.aventstack</groupId>
    <artifactId>extentreports</artifactId>
    <version>3.0.7</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.141.59</version>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-chrome-driver</artifactId>
    <version>3.141.59</version>
</dependency>

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>4.2.0</version>
</dependency>
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
</dependency>
<dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>2.3.1</version>
        <scope>test</scope>
    </dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-email</artifactId>
    <version>1.5</version>
</dependency>
<dependency>
    <groupId>org.apache.directory.studio</groupId>
    <artifactId>org.apache.commons.io</artifactId>
    <version>2.4</version>
</dependency>
  </dependencies>
</project>
@RunWith(Cucumber.class)
@CucumberOptions(
        features = "/Users/neha/eclipse-workspace/webCorp/src/test/java/feature", //the path of the feature files
        glue={"stepDefinition"}, //the path of the step definition files
        //format = { "pretty", "json:target/json/output.json" }, 
        tags = { "~@ignore" },
        plugin= {"com.cucumber.listener.ExtentCucumberFormatter:target/cucumber-reports/report.html"}, //to generate different types of reporting
        monochrome = true, //display the console output in a proper readable format`enter code here`
        strict = true, //it will check if any step is not defined in step definition file
        dryRun = false //to check the mapping is proper between feature file and step def file

        )

public class TestRunnertest  {

    @BeforeClass
    public static void startup() {
        System.out.println("Starting test");
    }
}

>

通过从pom中删除cucumber java、junit和cucumber junit依赖项,我能够从eclipse中运行代码。xml

共有1个答案

楚建柏
2023-03-14

创建TestNG。xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite name="Suite" parallel="false">
  <test name="Test">
    <classes>
      <class name="PackageName.TestRunnertest"/>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

创建pom。xml

添加依赖项和插件TestNG。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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>MavenOutlook</groupId>
  <artifactId>MavenOutlook</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <properties>
  <selenium.version>3.12.0</selenium.version>
  <testng.version>6.9.10</testng.version>
 </properties>

 <dependencies>
  <dependency>
   <groupId>org.seleniumhq.selenium</groupId>
   <artifactId>selenium-java</artifactId>
   <version>3.12.0</version>
  </dependency>
  <dependency>
   <groupId>org.testng</groupId>
   <artifactId>testng</artifactId>
   <version>6.9.10</version>
   <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
<dependency>
      <groupId>info.cukes</groupId>
      <artifactId>cucumber-java</artifactId>
      <version>1.2.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>info.cukes</groupId>
      <artifactId>cucumber-picocontainer</artifactId>
      <version>1.2.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>info.cukes</groupId>
      <artifactId>cucumber-testng</artifactId>
      <version>1.2.2</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
    <groupId>com.vimalselvam</groupId>
    <artifactId>cucumber-extentsreport</artifactId>
    <version>3.0.1</version>
</dependency>
<dependency>
    <groupId>com.aventstack</groupId>
    <artifactId>extentreports</artifactId>
    <version>3.1.2</version>
</dependency>

<dependency>
            <groupId>com.relevantcodes</groupId>
            <artifactId>extentreports</artifactId>
            <version>2.41.2</version>
        </dependency>
        <dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.22.1</version>
  <type>maven-plugin</type>
</dependency>
 </dependencies>

 <build>
<plugins>
   <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.3</version>
        </plugin>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.2-beta-5</version>
        </plugin>
        <plugin>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.8</version>
        </plugin>
        <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.3.2</version>
        </plugin>
   <plugin>

     <artifactId>maven-surefire-plugin</artifactId>
   <version>2.19</version>
    <configuration>
     <suiteXmlFiles>
      <suiteXmlFile>TestNG.xml</suiteXmlFile>
     </suiteXmlFiles>
    </configuration>
   </plugin>

  </plugins>
 </build>

</project>

打开命令提示符并转到项目目录

并运行测试mvn测试

 类似资料:
  • 我正在尝试使用 maven build 作为运行配置在 eclipse 中运行cucumber测试。当我运行配置时,构建成功,但浏览器不调用。因此,测试未运行。测试被跳过,给出一个信息“没有什么可编译的 - 所有类都是最新的”。我能够通过将功能文件作为cucumber功能运行来成功运行相同的测试。 请告诉我为什么要跳过测试。也让我知道运行maven构建cucumber测试的步骤。下面是我使用的po

  • Cucumber测试没有并行运行(Cucumber jvm并行插件)? 如果我使用runner类执行测试,一次将执行一个功能文件,但是当将以下插件添加到POM文件时,似乎没有功能文件执行? 即使我指向了正确的功能文件文件夹? 我的POM文件:

  • 问题内容: 我希望能够从命令行运行Junit测试,但是当我运行此命令时 我回来的就是 它是否与Android项目有关?我之前已经运行过该命令,并且没有太多问题。 问题答案: 我只是设法从命令行运行JUnit测试,但是使用adb shell。 命令是 更多细节在这里。

  • 问题内容: 如何从命令行运行Junit 4.8.1测试套件?另外,我想使用JUnit 4.8引入的类别,有没有一种方法可以从命令行指定要运行的类别。 问题答案: 从4.8开始,无法从命令行指定类别。

  • 我有一个用Maven建立的Java项目,我正在用Cucumber和jUnit进行测试。 也许我遗漏了一些东西,但是有没有一种方法可以设置Cucumber测试运行程序来自动运行jUnit测试以及Cucumber特性?不必运行两个单独的测试套件,并使用自动测试所有内容,这将是一件非常棒的事情。 目前,当我指定时,它只查找文件并忽略所有其他测试。 以下是我的测试文件结构: 还有我的测试运行程序,它目前只

  • 问题内容: 我有两个运行Windows Server 2012的虚拟机。一个运行Jenkins,另一个运行Jenkins的构建作业之一。作业从Subversion中检出测试代码,然后在Windows批处理脚本中运行。该测试可以编译并运行,但是会失败,并显示。这些是使用Selenium和Firefox驱动程序的TestNG测试。 如果我使用完全相同的命令并从Windows命令行运行它,则测试成功。我