Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SpecRun功能在所有线程上运行之前_C#_Selenium_Parallel Processing_Specflow_Specrun - Fatal编程技术网

C# SpecRun功能在所有线程上运行之前

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

我一直在使用SpecRun,发现它在所有可用线程中执行BeforeFeature和AfterFeature步骤。我希望它将只执行上述步骤“一次并在单个线程上”

3线程执行的理想方案是:

  • BeforeFeature步骤将在线程1上执行
  • 场景1将在线程1上执行,场景2将在线程2上执行,场景3将在线程3上执行
  • 之后,将在线程1上执行功能步骤
  • 我现在的实际情况是:

  • 在Thread1上执行BeforeFeature步骤之前,执行BeforeFeature步骤之前 在Thread2上执行,然后在Thread3上执行功能步骤
  • 场景1在线程1上执行,场景2在线程2上执行,场景3在线程3上执行
  • AfterFeature步骤在Thread1上执行,AfterFeature步骤在Thread2上执行,AfterFeature步骤在Thread3上执行

  • 我使用的是
    Selenium WebDriver 2.47.0
    SpecRun1.2
    Specflow 1.9
    SpecRun具有这种行为,因为Before/After-功能适用于功能文件中的所有场景和场景大纲示例

    根据您的配置,SpecRun在不同的线程或不同的进程上安排不同的场景。由于可以在其他步骤绑定中包含一些特定于线程的内容,因此必须为每个线程执行after/before步骤


    在前/后功能步骤中,您在做什么?测试前/测试后运行是否不适用于您的用例?

    我在测试前/测试后功能中有一些步骤,用于配置/预先定义将用于给定功能中所有场景的数据。对于测试运行之前和之后,不同的功能文件对其数据具有不同的配置,因此此设置不起作用。另外,您是否有要求在特定线程上运行特定场景的链接?谢谢你的帮助@Andreas