Answer
Programming Languages Supported by Cucumber
Cucumber is a polyglot framework — it supports multiple programming languages through official implementations:
Supported Languages
| Language | Implementation | Package |
|---|---|---|
| Java | Cucumber-JVM | io.cucumber:cucumber-java |
| Kotlin | Cucumber-JVM (Kotlin) | io.cucumber:cucumber-java8 |
| JavaScript | Cucumber.js | @cucumber/cucumber |
| Ruby | Cucumber-Ruby | cucumber gem |
| Python | Behave / pytest-bdd | behave |
| C# / .NET | SpecFlow (Cucumber-inspired) | NuGet SpecFlow |
| PHP | Behat | behat/behat |
Most Common Stack (Java + Selenium)
XML
<!-- pom.xml dependencies -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>7.15.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-testng</artifactId>
<version>7.15.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-core</artifactId>
<version>7.15.0</version>
</dependency>
Integration with Test Tools
CODE
Cucumber + Selenium WebDriver → UI automation
Cucumber + REST Assured → API testing
Cucumber + Appium → Mobile testing
Cucumber + TestNG → Test management & reporting
Cucumber + JUnit 5 → Test runner (modern)
JARs Required (Legacy Maven)
CODE
cucumber-core-7.x.jar
cucumber-java-7.x.jar
cucumber-testng-7.x.jar (or cucumber-junit)
gherkin-26.x.jar
