我的测试套件当前具有并行运行的功能,并且每个功能中的场景都一个接一个地运行,而不必在两个场景之间重置Webdriver。一切都很好,但是我在整个功能完成后仍在努力寻找一种拆解的好方法,我不能使用AfterFeature,因为它要求我的webdriver是静态的,并且会阻止并行执行工作,如果我这样做了,在afterScenario中拆除后,我将需要针对每种情况重新启动Webdriver,这将不必要地占用更多时间。有什么方法可以使用FeatureContext或其他方法来确定当前场景是否是Feature中的最后一个场景?或其他类似的东西?我基本上需要一种无需使用Before / AfterFeature就可以确定当前方案是否已结束的方法
默认情况下,Specflow按字母顺序对场景进行排序,但是您可以通过以开头以数字命名的场景来解决它,例如01 - Login
,02 - Logout
。然后使用注释中建议的方法。在AfterScenario
钩上:
没有任何东西会被硬编码,并且将适用于您的所有套件。但是您应该从头开始使用index来命名。