温馨提示:本文翻译自stackoverflow.com,查看原文请点击:java - Serenity Screenplay run tests from CLI
java testing serenity-bdd cucumber-serenity

java - 通过CLI进行的Serenity Screenplay运行测试

发布于 2020-04-11 12:23:19

是否可以通过CLI执行Serenity Screenplay测试?我想发出mvn test -Dcucumber.options="list of test files"命令,但是Maven没有执行任何操作。
当前,这是我在src / test / java下拥有的主要类

import cucumber.api.CucumberOptions;
import net.serenitybdd.cucumber.CucumberWithSerenity;
import org.junit.runner.RunWith;

    @RunWith(CucumberWithSerenity.class)
    @CucumberOptions(features = "src/test/resources/features/NuovoClienteCreazione.feature", format = {"pretty", "html:target/Destination"})
    public class CucumberMain {
    }

另外,pom.xml文件具有以下内容

<?xml version="1.0" encoding="UTF-8"?>
<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>EPP</groupId>
    <artifactId>AutomationTesting</artifactId>
    <version>1.0-SNAPSHOT</version>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <cucumber.version>1.2.5</cucumber.version>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>



<dependencies>

    <!-- region: Cucumber e Serenity -->

    <!-- https://mvnrepository.com/artifact/net.serenity-bdd/serenity-core -->
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-core</artifactId>
        <version>2.0.89</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/net.serenity-bdd/serenity-cucumber -->
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-cucumber</artifactId>
        <version>1.9.48</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.sql2o/sql2o -->
    <dependency>
        <groupId>org.sql2o</groupId>
        <artifactId>sql2o</artifactId>
        <version>1.6.0</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.hamcrest/hamcrest -->
    <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest</artifactId>
        <version>2.2</version>
        <scope>test</scope>
    </dependency>


    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc</artifactId>
        <version>7</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/libs/ojdbc7.jar</systemPath>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1.1</version>
    </dependency>


    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-screenplay</artifactId>
        <version>2.0.89</version>
    </dependency>

    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-screenplay-webdriver</artifactId>
        <version>2.0.89</version>
    </dependency>

    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-junit</artifactId>
        <version>2.0.89</version>
        <scope>test</scope>
    </dependency>

    <!-- endregion -->



    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>3.141.59</version>
    </dependency>

    <!-- endregion -->


    <!-- region: Drivers di Selenium -->

    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>3.6.0</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-ie-driver -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-ie-driver</artifactId>
        <version>3.6.0</version>
    </dependency>

</dependencies>


</project>

是否有人在使用Serenity Screenplay时遇到过这样的问题,并且能够从CLI执行测试?

查看更多

提问者
Gianmarco F.
被浏览
72
Gianmarco F. 2020-02-05 00:10

最终,我发现我必须首先设置Failsafe插件,然后使其与CucumberMain类进行通信。然后,从CLI中,使用我要执行的测试列表执行mvn verify或mvn test可以解决问题