如何通过命令提示符和使用Maven通过jenkins运行单个黄瓜功能文件?

2022-09-02 11:46:44

我对Cucumber / Maven有点陌生,所以在运行测试用例时需要帮助。我使用Cucumber和Selenium开发了一个eclipse自动化套件。要运行特定的功能文件/ Junit运行器类,我右键单击Eclipse中的文件并运行它。

但是,如何通过命令提示符或 Jenkins 通过给出特定命令来运行 2-3 个功能文件(或 50 个功能文件或 JUnit 类中的 2-3 个 Junit 运行器类)来运行它呢?

下面是我在 Eclipse 中构建结构的软件包资源管理器。

enter image description here

下面是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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.perspecsys</groupId>
    <artifactId>salesforce</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

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

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>


    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>1.1.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-picocontainer</artifactId>
            <version>1.1.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>1.1.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>2.48.2</version>
        </dependency>

    </dependencies>
</project>

答案 1

您可以使用 运行单个功能文件,该文件将覆盖批注中的所有选项:cucumber.options@CucumberOptions

mvn test -Dcucumber.options="src/test/features/com/perspecsys/salesforce/featurefiles/Account.feature"

编辑(2021年6月):后续版本删除了该结构并替换了它。现在实现相同结果的一种方法是使用标签。在功能文件(示例)的顶部放置一个标记,然后运行以下命令:cucumber.options@feature_file_name

mvn test -Dcucumber.filter.tags='@feature_file_name'

答案 2

您可以使用 cucumber.options 运行单个要素文件

mvn test -Dcucumber.options="--tags @TestTag"

推荐