1

I am using the following dependencies in my gradle.build file

ext{
    serenity_core_version = "2.5.8"
    serenity_cucumber_version = "6.11.0"
    serenity_cucumber5_version = "2.2.6"
}
dependencies {
    compile localGroovy()
    compile "net.serenity-bdd:serenity-core:$serenity_core_version"
    compile "net.serenity-bdd:serenity-junit:$serenity_core_version"
    compile "io.cucumber:cucumber-java:$serenity_cucumber_version"
    compile "io.cucumber:cucumber-junit:$serenity_cucumber_version"
    compile "net.serenity-bdd:serenity-screenplay:$serenity_core_version"
    compile "net.serenity-bdd:serenity-screenplay-webdriver:$serenity_core_version"
    compile "net.serenity-bdd:serenity-emailer:2.1.0"
    compile "net.serenity-bdd:serenity-screenplay-rest:$serenity_core_version"
    compile "net.serenity-bdd:serenity-cucumber5:$serenity_cucumber5_version"
    compile "net.serenity-bdd:serenity-junit:$serenity_core_version"
    }

my runner is configured as follows

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


@CucumberOptions(
    features = "src/test/resources/features/MiPrimerTest",
    glue = "co.com.testrest.automation.rest",
    stepNotifications = true,
    tags = "@primeraprueba")
@RunWith(CucumberWithSerenity.class)
public class PrimeraPrueba {}

enter image description here

when I execute the following exception comes up

cristianccrj
  • 21
  • 1
  • 5
  • Please avoid uploading code as an image. https://meta.stackoverflow.com/questions/285551/why-not-upload-images-of-code-errors-when-asking-a-question – nima Aug 19 '21 at 08:42

2 Answers2

1

From 2.3.x, serenity core only support cucumber 6.x and you don't need to explicit the version of cucumber, so you can remove

compile "io.cucumber:cucumber-java:$serenity_cucumber_version"
compile "io.cucumber:cucumber-junit:$serenity_cucumber_version"
compile "net.serenity-bdd:serenity-cucumber5:$serenity_cucumber5_version"

but need to add serenity-cucumber6

compile "net.serenity-bdd:serenity-cucumber6:$serenity_core_version"

you can see the sample project here https://github.com/serenity-bdd/serenity-cucumber-starter/blob/master/build.gradle

lucas-nguyen-17
  • 5,516
  • 2
  • 9
  • 20
0

As I can see you have multiple Cucumber dependencies in your Gradle. (I recommend you to not repeat libraries which can help you to avoid later possible conflicts.).

And since you are working with Serenity, the only one you should have is "net.serenity-bdd:serenity-cucumber6" (so please remove all the extra dependencies) in the same version as your "net.serenity-bdd:serenity-core"

I use Serenity with Cucumber in this way and it works without problem:

ext {
serenityVer = '2.6.0'
junitVer = '4.13.2'
assertJ = '3.20.2'}

dependencies {
implementation "net.serenity-bdd:serenity-core:${serenityVer}",
        "net.serenity-bdd:serenity-screenplay:${serenityVer}",
        "net.serenity-bdd:serenity-report-resources:${serenityVer}",
        "net.serenity-bdd:serenity-screenplay-rest:${serenityVer}",
        "net.serenity-bdd:serenity-ensure:${serenityVer}",
        "net.serenity-bdd:serenity-cucumber6:${serenityVer}",
        "junit:junit:${junitVer}",
        "org.assertj:assertj-core:${assertJVer}"}
Sushi-22
  • 1
  • 2