运行 使用不同测试用例的 SpecFlow 测试

Running SpecFlow tests with different test cases

NUnit(等)具有方法属性,允许测试 运行 多次使用不同的排列值。 SpecFlow 是否可以实现类似的功能?

我的目标是在一次测试中 运行 使用尽可能多的浏览器驱动程序在功能文件中测试相同的场景 运行。

您可以使用场景大纲。在场景大纲示例中,您可以提及驱动程序名称,并且您的代码逻辑应根据驱动程序采取行动。请在下面查看有关场景ouyline的更多详细信息

https://github.com/cucumber/cucumber/wiki/Scenario-outlines

示例是一种解决方案,但在您的情况下有点麻烦,因为您必须在每个场景中指定它们。

对于您的情况,请查看 SpecFlow+Runner 的目标功能。有了它,您可以 "multiply" 不同配置的场景。如果你把应该用到的web driver放在这个配置里,你想测试多少个webdriver就可以了。

看看这个例子:https://github.com/techtalk/SpecFlow.Plus.Examples/tree/master/SeleniumWebTest


完全披露:我是 SpecFlow 和 SpecFlow+ 的开发者之一

如果您想将浏览器用作标签,请使用场景大纲和此工具: https://github.com/unickq/Unickq.SeleniumHelper