Cucumber is frequently used alongside other tools. As much as we would like to help you, if you are having trouble with any of these tools it’s better to contact those communities directly. This page lists some of the tools often used with Cucumber and where to find help for those tools. If you cannot find the tool you are looking for, try the related tools page.
IDE Plugins
Note that if you are using a newer version of Cucumber, the plugin you are using might not have been updated yet.
IntelliJ IDEA
IntelliJ IDEA is a Java IDE.IntelliJ IDEA is a Java IDE.
The IntelliJ IDEA “Cucumber for Java” plugin is maintained by JetBrains, the creators of IntelliJ IDEA. Please check YouTrack to see if your issue has been reported yet (and vote for it!). If not, you can create an issue yourself.
IntelliJ IDEA’s support for Cucumber is via plugins. The plugin that you need to use depends upon what version of IntelliJ IDEA you are using, and what version of Cucumber your trying to use.
If you upgrade Cucumber or IntelliJ IDEA you might need to recreate your Run/Debug Configuration so the correct plugin is used. Right-Click on the feature file and select “Run ‘Feature: …‘“.
Configuration that you set via Maven/Gradle/Junit/TestNG is not imported into IntelliJ IDEA’s configuration, so you might need to alter any of these values: * Main class * Glue * Feature or folder path * VM options * Program arguments * Working directory * Environment variables * Use classpath of module
The IntelliJ IDEA “Cucumber for Java” plugin is maintained by JetBrains, the creators of IntelliJ IDEA. Please check YouTrack to see if your issue has been reported yet (and vote for it!). If not, you can create an issue yourself.
IntelliJ IDEA’s support for Cucumber is via plugins. The plugin that you need to use depends upon what version of IntelliJ IDEA you are using, and what version of Cucumber your trying to use.
If you upgrade Cucumber or IntelliJ IDEA you might need to recreate your Run/Debug Configuration so the correct plugin is used. Right-Click on the feature file and select “Run ‘Feature: …‘“.
Configuration that you set via Maven/Gradle/Junit/TestNG is not imported into IntelliJ IDEA’s configuration, so you might need to alter any of these values: * Main class * Glue * Feature or folder path * VM options * Program arguments * Working directory * Environment variables * Use classpath of module
Eclipse
Eclipse is a Java IDE.Eclipse is a Java IDE.
You can find the Cucumber Eclipse Plugin on GitHub. It is an open source plugin.
You can find the Cucumber Eclipse Plugin on GitHub. It is an open source plugin.
Maven Execution Plugin
Maven Plugins are for JVM based languages.Maven Plugins are for JVM based languages.
You need to place the test classes inside the src/test/java
folder structure for Maven plugin to detect them automatically.
You need to place the test classes inside the src/test/kotlin
folder structure for Maven plugin to detect them automatically.
If you are using Maven Surefire Plugin to execute Cucumber runners, refer to the official documentation.If you are using Maven Surefire Plugin to execute Cucumber runners, refer to the official documentation.
For automatic inclusion of runners you need to use the *Test.java
naming pattern.
For automatic inclusion of runners you need to use the *Test.kt
naming pattern.
You can find further details about default inclusion and exclusion pattern of test classes here.You can find further details about default inclusion and exclusion pattern of test classes here.
In case you are using Maven Failsafe Plugin, refer to the official documentation.In case you are using Maven Failsafe Plugin, refer to the official documentation.
For automatic inclusion of runners you need to use the *IT.java
naming pattern.
For automatic inclusion of runners you need to use the *IT.kt
naming pattern.
You can find further details about default inclusion and exclusion of test classes here.You can find further details about default inclusion and exclusion of test classes here.
Browser automation
For some help using Cucumber with browser automation, you can check the documentation on browser automation. If you are having trouble with a particular browser automation tool, you might need to contact the relevant community directly.
Selenium
If you need help with Selenium, please try the Selenium website, or contact the Selenium community on Slack.
Serenity BDD
Serenity only works with Java.Serenity only works with Java.If you are using Serenity, you will be running your tests with the CucumberWithSerenity.class
instead of the Cucumber.class
.
A detailed tutorial on using Cucumber-JVM with Serenity can be found here, and more information on Serenity can be found on their official website.
You can also find the serenity-cucumber project on Github.
If you are using Serenity, you will be running your tests with the CucumberWithSerenity.class
instead of the Cucumber.class
.
A detailed tutorial on using Cucumber-JVM with Serenity can be found here, and more information on Serenity can be found on their official website.
You can also find the serenity-cucumber project on Github.
Watir
More information on Watir.
Watir only works with Ruby.Watir only works with Ruby.Watir only works with Ruby.Capybara
More information on Capybara.
Capybara only works with Ruby.Capybara only works with Ruby.API automation
RestAssured
RestAssured is an API automation tool for Java.
For more information see the official website.
Karate
Karate is an API automation tool for Java.
For more information see the Karate project on GitHub.
Test Frameworks
TestNG
If you are having issues when using TestNG with Cucumber-JVM, please check that you are using the version of TestNG that Cucumber-JVM was build against.
For an example of how to use TestNG with Cucumber, see the java-calculator-testng example.
If you are having issues when using TestNG with Cucumber-JVM, please check that you are using the version of TestNG that Cucumber-JVM was build against.
For an example of how to use TestNG with Cucumber, see the java-calculator-testng example.
TestNG is only available for Java and Kotlin.TestNG is only available for Java and Kotlin.