【问题标题】:ViewState and Web Load TestingViewState 和 Web 负载测试
【发布时间】:2009-06-09 03:42:01
【问题描述】:

我正在尝试对 ASP.NET 网站进行负载测试,我需要能够对页面的字段值进行参数化以测试不同的代码路径。

我之前在对 JSP 网站进行负载测试时使用 JMeter 取得了巨大的成功。但是,因为 ASP.NET 对 ViewState 中的所有表单值进行编码,所以更改控件值并不能真正起作用。

我在 Google 上搜索了这个问题,人们说 Visual Studio Team Tester Edition 中的 Web 测试工具可以很好地与 ASP.NET 页面配合使用。但是,它的成本很高,所以我想知道是否有人知道如何使用 JMeter 或 WAPT 解决 ViewState 问题?

【问题讨论】:

    标签: asp.net load-testing


    【解决方案1】:

    我以前用过WebLoad。它的脚本语言基本上是 JS,因此您可以使用 JS 在页面上找到控件并将它们作为加载脚本的一部分调用。

    WebLoad 是免费的。

    【讨论】:

      【解决方案2】:

      我已经想出了如何做到这一点,基本上你不能简单地用 JMeter 记录一个静态脚本。您需要做的是记录请求、发送请求、捕获响应中的视图状态并在下一个请求中将视图状态发送回。

      如果您需要更多详细信息,我已经在我的blog post 上记录了如何执行此操作以及一些屏幕截图

      【讨论】:

      • 嗨@AlexCurvers 对此感到抱歉,网址已更新
      【解决方案3】:

      随着 web 应用程序变得越来越复杂(ViewState、AJAX 等),使用传统的负载测试工具变得越来越难。那是因为他们试图在极少的硬件资源上占用大量虚拟用户。

      我的公司 BrowserMob 采取了不同的方法。我们构建了一个load testing service,它使用真正的网络浏览器来驱动负载。您的脚本最终基本上是功能测试(特别是 Selenium 脚本)。我在 Selenium 的背景已经有一段时间了(我创建了 Selenium RC 并创建了 OpenQA.org),所以一旦云计算可以租用 5TB+ 的 RAM 来实现这一点,我就开始了这个想法 :)

      【讨论】:

      • 哦,我以前使用过 selenium,它就像黑魔法一样工作,但在尝试模拟 500 个并发用户时遇到了可伸缩性问题。
      • 是的,运行数百个浏览器需要大量硬件。这就是我创建 BrowserMob 的原因。这就像功能测试+负载测试合而为一。脚本编写非常简单,安排使用 1000 多台服务器的负载测试同样容易。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-26
      相关资源
      最近更新 更多