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

本文关键字:运行 线程 功能 SpecRun | 更新日期: 2023-09-27 18:27:52

我一直在使用SpecRun,发现它在所有可用线程中执行BeforeFeature和AfterFeature步骤的行为。我希望它只会"在一个线程上执行一次"上述步骤。

3线程执行的理想场景是:

  1. BeforeFeature步骤将在线程1上执行
  2. 场景1将在线程1上执行,场景2将在线程2上执行,方案3将在线程3上执行
  3. 将在线程1上执行功能步骤之后

我现在遇到的实际情况:

  1. BeforeFeature步骤在线程1上执行在线程2上执行,BeforeFeature步骤在线程3上执行
  2. 场景1在线程1上执行,场景2在线程2上执行,方案3在线程3上执行
  3. 在线程1上执行AfterFeature步骤,在线程2上执行After Feature步骤

我使用的是Selenium WebDriver 2.47.0SpecRun1.2Specflow 1.9

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

SpecRun具有此行为,因为Before/After-Feature适用于Feature-File中的所有场景和场景大纲示例。

根据您的配置,SpecRun会在不同的线程或进程上调度不同的场景。由于在其他步骤绑定中可以有一些特定于线程的东西,因此必须为每个线程执行after/before步骤。

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