gpt4 book ai didi

visual-studio-2010 - Visual Studio 负载测试以数据驱动的方式模拟许多用户?

转载 作者:行者123 更新时间:2023-12-05 00:33:02 26 4
gpt4 key购买 nike

我正在尝试对 Web 服务进行负载测试。

我有一个简单的方法,它接受 2 个参数发送到 Web 服务并返回响应,我从这个方法创建了一个单元测试。

因为我要需要为了测试各种不同的输入以有效地测试服务,我设置了一个包含约 1000 行的 CSV 作为单元测试的数据源。

我可以运行这个单元测试,它将遍历所有行,依次调用具有不同值的 Web 服务。

然而 ,这不是我需要的。我需要每一行对应于不同线程上的不同用户,使用负载测试配置来包括思考时间、使用步进负载增加用户、测试混合配置等。

我可以通过从单元测试和硬编码值中删除我的数据源来实现这一点.. 但这是一个从根本上有缺陷的测试:为了真正测试 Web 服务,我需要每个 用户 发送不同的值并获得不同的结果。

...

那么,如何将数据源挂接到负载测试并让该负载测试以不同的值启动每个用户的单元测试实例?

最佳答案

我最终使用这个答案作为指导:https://stackoverflow.com/a/7813465/237723

我没有从控制台应用程序方法创建单元测试并对该单元测试进行负载测试,而是创建了一个简单的 ASP.NET Web 表单,该表单接受输入并调用 Web 服务。

我使用这个新表单记录了一个 Web 性能测试,并创建了一个负载测试来运行该 WPTest。

  • 记录测试后,我将 CSV 作为数据源添加到此测试中。
  • 记录了 2 个“请求”:初始 GET 和后续 POST。确保你离开他们两个!我删除了 favicon.ico 请求,因为它不存在。 (这些预防措施可能是可以避免的)
  • 通过扩展 POST 请求,我修改了与我的 2 个 Web 服务输入相对应的 TextBox 参数的属性,以从 CSV 中的相应列中获取它们的值。
  • 我将数据源访问方法更改为“不自动移动光标”(您必须将数据源扩展到表并通过右键单击/F4 编辑其属性。)
  • 然后我创建了 WebTestPlugin(来自链接的答案),它根据正在运行的 UserID(一个 int)手动移动光标。这将对应于负载测试根据步骤计划启动的用户实例。创建此类后,构建项目,然后将其添加到 Web 性能测试中。

  • public class webtestplugin : WebTestPlugin
    {
    public override void PreWebTest(object sender, PreWebTestEventArgs e)
    {
    base.PreWebTest(sender, e);
    e.WebTest.MoveDataTableCursor("DataSource1", "addresses#csv", e.WebTest.Context.WebTestUserId);
    }
    }

    关于visual-studio-2010 - Visual Studio 负载测试以数据驱动的方式模拟许多用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12710732/

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