SuperAPI AI 工具集

reqnroll-skill

测试与质量

查看项目

更新于 10-15 23:48

技能介绍

用途:指导 QA 工程师与测试架构师用 C# 编写生产级 Reqnroll BDD 测试,覆盖 Web 与移动端自动化,目标运行在 TestMu AI(LambdaTest)云上。Reqnroll 是 SpecFlow 的活跃开源继任者,旧 SpecFlow 项目可通过替换 NuGet 包与命名空间迁移,无需重写步骤定义。

主要能力:区分三条执行路径——Selenium 4(手动 DriverFactory)、Selenium 3(Reqnroll.SpecFlowCompatibility.Actions.LambdaTest 插件配合 IBrowserInteractions)、Appium 2(Appium.WebDriver、AndroidDriver)。支持云与本地切换:读取 LT_USERNAME 与 LT_ACCESS_KEY 环境变量,Web 路由到 hub.lambdatest.com,移动端路由到 mobile-hub.lambdatest.com;在 [AfterScenario] 中通过 lambda-status JavaScript 执行器上报通过/失败。并行方面使用 [assembly: Parallelizable(ParallelScope.Fixtures)] 与 [assembly: LevelOfParallelism(N)](NUnit),步骤定义类之间通过 Reqnroll DI 注入的 ScenarioContext 共享状态,而非静态字段。

使用方式:.feature 文件与测试类一一对应,场景用 @tagName 标记,可用 dotnet test --filter "Category=tagName" 过滤;Background 在每个场景前运行,Scenario Outline 配合 Examples 表做数据驱动。步骤定义类用 [Binding] 标注,构造函数注入 ScenarioContext;[BeforeScenario] 初始化驱动并存入 ScenarioContext["driver"],[AfterScenario] 读取 _scenarioContext.TestError(Web)或 TestContext.CurrentContext.Result.Outcome.Status(移动端)后发出 lambda-status 并 driver.Quit()。动态内容用 WebDriverWait 替代 ImplicitWait。

适用场景:Web 与 Android 移动端的 BDD 自动化、云端并行执行、CI/CD 集成。限制:资料未提供具体收费、价格与效果数据;移动端示例面向 Android,其他平台暂未提供;参考目录含 playbook.md、cloud-integration.md、selenium-4-patterns.md、selenium-3-patterns.md、appium-patterns.md 等详细文档。