使用 cucumber 为 java selenium serenity 测试运行多个测试功能

Posted

技术标签:

【中文标题】使用 cucumber 为 java selenium serenity 测试运行多个测试功能【英文标题】:Running multiple tests features with cucumber for java selenium serenity tests 【发布时间】:2021-09-24 17:44:08 【问题描述】:

我有以下配置来运行 java cucumber 配置(硒测试)的特定文件夹中的文件。

包 com.hero.selenium.test; 导入 io.cucumber.junit.CucumberOptions; 导入 net.serenitybdd.cucumber.CucumberWithSerenity; 导入 org.junit.runner.RunWith; @RunWith(CucumberWithSerenity.class) @黄瓜选项( 单色 = 真, 特征 = "src/test/resources/features/", 胶水 = “com.hero.selenium.test.stepdefinitions” ) 公共类 MainRunner

我知道如何只运行一个文件

features = "src/test/resources/features/AsiaUsersMutexTest.Feature",

但是,我只想运行以某个字符串开头的文件。让我们说带有前缀“AsiaUserTests”的文件。类似于以下内容

features = "src/test/resources/features/AsiaUsers*.Feature",

这导致java.nio.file.InvalidPathException: Illegal char <*>,所以想知道是否有办法做到这一点,因为我在网络上找不到这样的东西。

【问题讨论】:

也许标签对你有帮助? cucumber.io/docs/cucumber/api/#tags 【参考方案1】:

我通过在要运行的功能文件上添加 @Custom-Tag 来运行它并修改配置如下。

包 com.hero.selenium.test;

import io.cucumber.junit.CucumberOptions;
import net.serenitybdd.cucumber.CucumberWithSerenity;
import org.junit.runner.RunWith;

@RunWith(CucumberWithSerenity.class)
@CucumberOptions(
        monochrome = true,
        features = "src/test/resources/features/",
        glue = "com.hero.selenium.test.stepdefinitions",
        tags= "@Custom-Tag"
)
public class MainRunner 

感谢@lojza 的指导!

【讨论】:

以上是关于使用 cucumber 为 java selenium serenity 测试运行多个测试功能的主要内容,如果未能解决你的问题,请参考以下文章

java.lang.NoClassDefFoundError: io/cucumber/core/runtime/TypeRegistryConfigurerSupplier

Cucumber-java rerun fail 只执行失败的测试

行为驱动:Cucumber + Selenium + Java - 使用标签实现测试分组

如何使用 Java 在运行时获取当前 Cucumber 功能文件名

Cucumber-Java:避免多个登录并在多个独立场景中使用相同的会话

可以在Cucumber(java)中创建“Master Step”吗?