很抱歉,如果已经问过这个问题,但请告诉我,我是restSharp和API测试的新手。我准备了许多帖子、文章和回复。但由于我的局限性,我想知道是否有人能指导我完成这项任务
我想实现的是,如果可能的话,通过使用标签,例如@dev@uat等,在不同的测试环境(dev、uat、pro等(中为相同的小黄瓜场景运行相同的测试场景。
目前,我们为每个环境都有3个运行设置文件,(dev.runsetting,uat.runsetting等。在每个环境中,我们传递不同的参数(,要更改到不同的环境,我通过C#来做这件事,并选择必要的测试设置文件
如果我理解正确,您希望通过标记控制在哪个环境中执行哪个场景。
SpecFlow+Runner具有一个名为Targets
的功能,可以为您提供帮助。这样,您就可以为您的场景定义多个目标及其配置。
您可以在此处找到此功能的示例:https://github.com/SpecFlowOSS/SpecFlow.Plus.Examples/tree/master/SeleniumWebTest
在本例中,我们使用目标对不同的浏览器进行测试
在您的情况下,我会根据您的环境更改浏览器。
在您的CI/CD管道中,您可以使用SpecFlow+Runner中的筛选功能来筛选出不同的环境。在Azure DevOps中,筛选条件为Name~(target: <TARGETNAME>)
。
文件如下:https://docs.specflow.org/projects/specflow-runner/en/latest/Profile/Filter.html
全面披露:我是SpecFlow和SpecFlow+的维护和开发人员之一