You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Serenity Cucumber运行所有feature文件并复用单个浏览器实例

Serenity BDD 单浏览器实例执行全量用例配置方法

你只需要修改配置和Runner类配置即可实现需求,操作步骤如下:

1. 修改核心配置文件

在你的项目的serenity.properties(或serenity.conf)文件中添加以下两个配置项:

# 关闭每个场景重启浏览器的默认逻辑
serenity.restart.browser.each.scenario = false
# 设置浏览器驱动生命周期为整个测试套级别,全量用例复用同一个驱动实例
serenity.driver.lifecycle = SUITE

如果使用的是2.x及更早的Serenity BDD版本,额外添加以下配置:

serenity.session.strategy = singleton

2. 确认Runner类配置

你的Serenity启动Runner类不需要额外加特殊配置,参考示例写法即可,只要正确指定feature文件夹路径即可识别全部feature文件:

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

@RunWith(CucumberWithSerenity.class)
@CucumberOptions(
        features = "src/test/resources/features", // 替换为你自己的Feature文件夹相对路径
        glue = "com.yourproject.stepdefinitions", // 替换为你自己的步骤定义类所在包路径
        plugin = {"pretty"}
)
public class AllFeaturesTestRunner {
}

注意事项

  • 不要在步骤定义、钩子方法中手动调用driver.quit()或driver.close()方法,Serenity会在所有用例执行完成后自动关闭浏览器
  • 如果不同场景之间需要清理登录状态等会话数据,手动编写清除Cookie、本地存储的逻辑即可,无需关闭浏览器
  • 不要开启测试用例多线程执行配置,多线程场景下无法复用同一个浏览器实例

内容的提问来源于stack exchange,提问作者Nachiyar-09

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 07:06:02