Reputation: 21
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 {}
when I execute the following exception comes up
Upvotes: 1
Views: 2559
Reputation: 1
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}"}
Upvotes: 0
Reputation: 5917
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
Upvotes: 1