设置用户数和编号在 VS2015 的负载测试中动态迭代

Set user count & no. of iterations dynamically in load test in VS2015

我知道如何在 Visual Studio 中进行网络测试/负载测试时设置迭代次数和用户数。但是我如何通过代码动态设置这些。作为一名测试人员,我只想去更改代码中的数字和 运行 测试,而不必去编辑选项。

假设我有一个购买 phone 的网站。迭代(性能测试)将购买 phone(比如说)100 次。用户数量的增加(负载测试)会增加同时购买 phone 的用户数量。测试的主要场景是(比如说)100 位用户每 10 次购买 phone,因此总共购买 100x10 次。 现在在 VS2015 中,我知道如何去编辑 Visual Studio 中的选项并更改性能测试和负载测试的数字,如 link 中所述:https://docs.microsoft.com/en-us/vsts/load-test/run-performance-tests-app-before-release#createload。 但我想以编程方式进行。我想设置用户数量和每个用户可以购买 phone 的次数,通过 code.For 实例,当我 运行 测试触发 cmd 提示时,要求 2输入,一个:我想测试的用户数量和两个:每个用户可以 buy.The 用户输入两个输入的次数,然后用给定的数字进行测试 运行s用户和迭代次数。

例如,这就像设置环境变量一样。用户可以转到机器属性并手动设置所需的环境变量。但是他也可以只写一个小的批处理文件 运行 它来设置所需的环境变量。

用户数(实际上是常量或步长或目标的负载模式)和迭代到运行的次数在“.loadtest”文件中指定。它是一个 XML 文件,值很容易在 XML.

中找到

这里是“.loadtest”文件的缩减版本,显示了问题所需的部分,以及一些其他显着值。此示例适用于 "step" 负载模式,但很容易将文件作为基于目标或恒定负载测试的示例并找到正确的 XML.

<LoadTest ...>
  <Scenarios>
    <Scenario Name="..." ...>
      <LoadProfile Pattern="Step"
          InitialUsers="1" MaxUsers="500"
          StepUsers="1" StepDuration="3" StepRampTime="0" />
    </Scenario>
  </Scenarios>
  <RunConfigurations>
    <RunConfiguration Name="Run" UseTestIterations="false" RunDuration="1800"
        WarmupTime="0" CoolDownTime="90" TestIterations="100" ...>
    </RunConfiguration>
  </RunConfigurations>
</LoadTest>

考虑到“.loadtest”文件的简单性,很容易创建一个批处理脚本或一个程序来读取所需的数字并将它们写入给定的“.loadtest”文件,然后开始负载测试通过 mstest.exe.

等程序

一旦测试 运行ning 可以通过负载测试插件将所需的数量写入来更改用户数量 m_loadTest.Scenarios[N].CurrentLoad 适合 N。这可能会在 Heartbeat 插件中完成,但可以在任何负载测试插件中完成。我不知道有什么方法可以改变 运行 时所需的迭代次数,但可以通过传递给负载测试插件的对象和值来实现。

请注意,用户数量的大幅增加可能会导致测试失败,因为代理计算机不足。相反,为您可能想要的最大数量的用户提供足够的代理可能意味着测试 运行 用户很少会非常浪费代理容量。