通过visual studio并行测试执行,测试被跳过

时间:2014-12-21 13:38:35

标签: c# testing selenium visual-studio-2013 mstest

我使用VS2013,运行120 c#selenium测试,其中.testsetting文件包含以下参数执行parallelTestCount =" 5"并测试超时6000毫秒(6秒)。 测试duartion超过6秒,我用这个配置来重现问题。 6秒后,5次测试失败,其余测试被跳过。 这就是我在输出窗口中得到的结果: "测试运行正在计算机名称中止,挂起测试的数量超过允许的最大数量' 5'。"

Testsettings文件

  <?xml version="1.0" encoding="UTF-8"?>
    <TestSettings name="RemoteWebDriver" id="e293abd4-745a-43f5-a831-2064f9305fc6" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
      <Description>These are default test settings for a local test run.</Description>
      <Deployment>
        <DeploymentItem filename="TfsAutomation\testDefintionSources.config" />
        <DeploymentItem filename="TfsAutomation\TfsAutomationCore.config" />
      </Deployment>
      <Scripts setupScript="TestScriptRemoteWebDriver.bat" />
      <Execution parallelTestCount="5">
        <Timeouts runTimeout="10000000" testTimeout="6000" />
        <TestTypeSpecific>
          <UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
            <AssemblyResolution>
              <TestDirectory useLoadContext="true" />
            </AssemblyResolution>
          </UnitTestRunConfig>
        </TestTypeSpecific>
        <AgentRule name="LocalMachineDefaultRole">
        </AgentRule>
      </Execution>
      <Properties />
    </TestSettings>

1 个答案:

答案 0 :(得分:1)

这个问题让我this并且正在阅读。值得一提的是,MsTest的内部结构从那时起经历了很多变化,至少根据上面的参考和我的知识。我只能在讨论结论中说 MSTest并行机制并不是并行的UI测试,而不知道测试环境的体系结构的内部结构。其次,在MsTest并行执行中,核心数在并行性方面很重要。请参阅this SO answer以了解有关线程管理的更多信息。 那么,问题是什么是最好的解决方案呢。如果没有很多关于MSTest的知识,但是对Selenium有足够的了解,我会说 Selenium-Grid 。让网格控制并行执行是安全的。