SpecFlow并行和非并行测试

时间:2017-10-12 11:08:01

标签: testing automated-tests specflow parallel-testing specrun

我使用SpecFlow自动化我的网络测试并使用并行执行来加速它们。

我遇到的问题是,检查无效密码被拒绝的一项测试会在没有成功登录的情况下运行3次后锁定用户帐户。

我已将它们设置为以后执行成功登录,但是并行运行意味着它们会同时运行多个目标并仍然锁定帐户。

有没有办法可以将此测试设置为不并行运行,因此它不会锁定帐户并仍允许其他帐户并行运行?

EDIT-- 我使用SpecRun作为我的测试运行器

1 个答案:

答案 0 :(得分:0)

我设法找到了解决问题的方法。

通过将以下代码放在我的srprofile中,我可以标记我希望按顺序运行的测试,并强制它们只在特定的线程中运行。

<TestThreads>
    <TestThread id="0">
      <TestAffinity>@Sequential | !@Sequential</TestAffinity>
    </TestThread>
    <TestThread id="1">
      <TestAffinity>!@Sequential</TestAffinity>
    </TestThread>
    <TestThread id="2">
      <TestAffinity>!@Sequential</TestAffinity>
    </TestThread>
    <TestThread id="3">
      <TestAffinity>!@Sequential</TestAffinity>
    </TestThread>
    <TestThread id="4">
      <TestAffinity>!@Sequential</TestAffinity>
    </TestThread>
    <TestThread id="5">
      <TestAffinity>!@Sequential</TestAffinity>
    </TestThread>
    <TestThread id="6">
      <TestAffinity>!@Sequential</TestAffinity>
    </TestThread>
    <TestThread id="7">
      <TestAffinity>!@Sequential</TestAffinity>
    </TestThread>
  </TestThreads>