'Dcucumber.options, how to have multiple tags
I am trying run cucumber tests using maven with following command
mvn test -Dcucumber.options="--tag @debug1"
This command works fine, however if i try something like following, i get error
mvn test -Dcucumber.options="--tag @debug1 @debug2"
Is there a way to pass in multiple tag names with cucumber run-time options?
Solution 1:[1]
- To run scenarios with
@debug1and@debug2:
Old version of Cucumber-jvm:
mvn test -Dcucumber.options="--tags @debug1 --tags @debug2"
Actual version of Cucumber-jvm:
mvn test -Dcucumber.options="--tags '@debug1 and @debug2'"
- To run scenarios with
@debug1or@debug2:
Old version of Cucumber-jvm:
mvn test -Dcucumber.options="--tags @debug1,@debug2"
Actual version of Cucumber-jvm:
mvn test -Dcucumber.options="--tags '@debug1 or @debug2'"
Solution 2:[2]
In Cucumber 6, property name has changed. Use:
mvn verify -Dcucumber.filter.tags="@debug1 or @debug2"
Solution 3:[3]
For me what was working with surefire plugin:
mvn clean test -D"cucumber.filter.tags=@tag1 or @tag2"
When I tried with this version:
mvn clean test -Dcucumber.filter.tags="not @MyTag"
I got this exception:
io.cucumber.core.exception.CucumberException: Failed to parse 'cucumber.filter.tags' with value '"not @MyTag"'
Caused by: io.cucumber.tagexpressions.TagExpressionException: Tag expression '"not @MyTag"' could not be parsed because of syntax error: expected operator
Solution 4:[4]
Little late to the party, but I am using something like:
mvn test -D tags="debug1 and debug2"
I am on Cucumber 2.4.
The @ symbol is optional. You can use a tags Maven property. And you can use boolean logic to hook up multiple tags - official docs.
Reduces the amount of typing little bit.
Solution 5:[5]
I using this commandline to run multiple tags
mvn test -Dcucumber.options="--tags '@tag1 or @tag2' --plugin io.qameta.allure.cucumber4jvm.AllureCucumber4Jvm --plugin rerun:rerun/failed_scenarios.txt"
Cucumber version 4.2.6
Solution 6:[6]
In cucumber v5.X, only mvn test -Dcucumber.options="--tags '@debug1 or @debug2'"
is supported and working.
mvn test -Dcucumber.options="--tags '@debug1 and @debug2'" is not working and either scenarios won't get executed
Solution 7:[7]
for version 6.10.2 Cucumber and Junit 4.12
mvn test "-Dcucumber.filter.tags= (@Tag1 or @Tag2) and not @Tag3"
where "or" is equal to "and".... for no reason (thanks Cucumber...)
Solution 8:[8]
for cucumber 6 use: mvn clean test -D"cucumber.filter.tags=@smoke or @dev"
for cucumber 4 use: mvn clean test -D"cucumber.options.tags=@smoke or @dev"
Solution 9:[9]
mvn clean verify -D tags="tagName"
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
