Warm tip: This article is reproduced from stackoverflow.com, please click
java testing serenity-bdd cucumber-serenity

Serenity Screenplay run tests from CLI

发布于 2020-04-11 11:39:05

Is there a way to execute Serenity Screenplay tests via CLI? I've tried to issue the mvn test -Dcucumber.options="list of test files" command but Maven is not executing anything.
Currently, this is the main class that I have under 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 {
    }

Also, the pom.xml file has the following contents

<?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>

Has anyone ever encountered such an issue while using Serenity Screenplay and was able to execute the tests from CLI?

Questioner
Gianmarco F.
Viewed
54
Gianmarco F. 2020-02-05 00:10

Eventually I discovered that I had first to setup the Failsafe plugin, and then make it communicate with the CucumberMain class. Then, from the CLI, executing either mvn verify or mvn test with the list of tests that I want to execute made the trick