C# SpecRun功能在所有线程上运行之前
我一直在使用SpecRun,发现它在所有可用线程中执行BeforeFeature和AfterFeature步骤。我希望它将只执行上述步骤“一次并在单个线程上” 3线程执行的理想方案是:C# SpecRun功能在所有线程上运行之前,c#,selenium,parallel-processing,specflow,specrun,C#,Selenium,Parallel Processing,Specflow,Specrun,我一直在使用SpecRun,发现它在所有可用线程中执行BeforeFeature和AfterFeature步骤。我希望它将只执行上述步骤“一次并在单个线程上” 3线程执行的理想方案是: BeforeFeature步骤将在线程1上执行 场景1将在线程1上执行,场景2将在线程2上执行,场景3将在线程3上执行 之后,将在线程1上执行功能步骤 我现在的实际情况是: 在Thread1上执行BeforeFeature步骤之前,执行BeforeFeature步骤之前 在Thread2上执行,然后在Thread
我使用的是
Selenium WebDriver 2.47.0
、SpecRun1.2
和Specflow 1.9
SpecRun具有这种行为,因为Before/After-功能适用于功能文件中的所有场景和场景大纲示例
根据您的配置,SpecRun在不同的线程或不同的进程上安排不同的场景。由于可以在其他步骤绑定中包含一些特定于线程的内容,因此必须为每个线程执行after/before步骤
在前/后功能步骤中,您在做什么?测试前/测试后运行是否不适用于您的用例?我在测试前/测试后功能中有一些步骤,用于配置/预先定义将用于给定功能中所有场景的数据。对于测试运行之前和之后,不同的功能文件对其数据具有不同的配置,因此此设置不起作用。另外,您是否有要求在特定线程上运行特定场景的链接?谢谢你的帮助@Andreas