gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 16:41:21 27 4
gpt4 key购买 nike

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

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

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

最佳答案

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

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

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

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

关于c# - 设置用户数和编号在 VS2015 的负载测试中动态迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49264585/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com