我已经使用 Selenium 和 Cucumber 设置了一个 Java 项目,用于端到端测试。由于我还使用并非总是那么稳定的 IDE IntelliJ,因此我依赖于从命令行使用 Maven 运行测试的选项,以实现稳定性等。
所以,通常我会像这样运行整个测试套件:
mvn -U clean install --quiet -P e2e
这个效果很好。所有 Selenium 测试均已运行。
但是,我的测试也标有标签以及场景名称。因此,我还希望能够选择运行单个命名场景或使用特定标签进行测试。
这就是我挣扎的地方。
如果我尝试使用命名标签运行测试
mvn clean install -Dcucumber.filter.tags="@Temp"
构建过程成功完成,但根本没有运行任何测试。
如果我尝试使用场景名称也是如此:
mvn clean install -Dcucumber.options="--name 'scenario name'"
使用“mvn test”同样会失去结果:
mvn test -Dcucumber.filter.tags="@Temp"
mvn tet -Dcucumber.options="--name 'scenario name'"
有什么想法吗?
请参阅 Cucumber-Java 骨架、运行单个场景或功能:
Maven 和 Gradle(尚)不支持使用 JUnit 选择器选择单个功能或场景。作为围绕
属性的解决方案,可以使用。因为此属性将导致 Cucumber 忽略 JUnit 中的任何其他选择器,所以谨慎的做法是仅执行 Cucumber 引擎。cucumber.features