【问题标题】:how to test spring web application in jmeter如何在 jmeter 中测试 Spring Web 应用程序
【发布时间】:2013-11-16 00:46:48
【问题描述】:

我是 jmeter 的新手,我在 Eclipse juno 中有 Spring Web 应用程序项目,服务器是 tomcat 服务器。我想使用 JMeter 对应用程序进行一些性能测试。我在 google 中进行了一些搜索并找到了简单的测试计划,但在我的项目中,我们有登录屏幕,它重定向到其他屏幕。如何将我的登录屏幕重定向到其他页面?任何参考都会有所帮助。

【问题讨论】:

    标签: java eclipse spring spring-mvc jmeter


    【解决方案1】:

    看看JMeter的教程/文档。

    您不应手动设置整个测试。如果您有一个复杂的 Web 应用程序,尤其是使用 Spring 或 Seam 等框架的应用程序,您应该记录通过您的 Web 应用程序的流程。 JMeter 提供了一个代理。 您在 JMeter 中启用此代理并在浏览器中对其进行配置(更多信息请参见上面的链接文档)。

    录制完成后,您必须处理这些变量值,例如 jSessionId、userId 等,并在您的请求中定义一些变量/重写。

    对于性能测试,您通常会添加随机时序、循环和流程的并行执行。这完全取决于您的需求,因此请尝试一下,然后根据特定需求回来。

    【讨论】:

      【解决方案2】:

      您应该注意两个方面:

      1.根据你的业务逻辑创建一个测试套件。你可以通过

      • 使用 HTTP 采样器构建手动请求
      • 按照 Matthias 的建议使用 JMeter HTTP 代理记录您的流程
      • 使用Google Chrome Extension直接在浏览器中录制测试脚本

      任何方法都应该产生一些或多或少合理的请求。您可能希望通过考虑添加以下内容使您的脚本更像真正的浏览器:

      • HTTP Header Manager - 模拟用户代理
      • HTTP 缓存管理器 - 模拟浏览器缓存
      • 结合使用并发池大小来模拟浏览器异步调用图片、css和javascript文件的HTTP Sampler的所有嵌入资源参数
      • HTTP Cookie 管理器 - 处理 cookie

        1. 处理登录和会话

      实现这一点的最简单方法是将HTTP Cookie manager 添加到线程组。确保您设置了 CookieManager.save.cookies=true 属性。该属性位于 JMeter 安装的 /bin 文件夹下的 jmeter.properties 文件中,默认为“false”。启用它后,您将获得更“真实”的行为,并且能够将 cookie 作为前缀为 COOKIE_ 的 JMeter 变量访问

      JMeter 变量可以通过 Debug Sampler + View Results Tree 侦听器查看(这是调试测试的最佳方式),并在测试的任何部分以 ${VARIABLENAME} 的形式引用

      【讨论】:

      • 感谢您的回复。在我们的应用程序中,我们不维护缓存。我们在整个应用程序中只维护会话,即在导航栏中显示用户名。
      • 我成功记录了流程,并在图表中观察到了一些结果。现在,我想测试 10 个访问门户网站的用户在上面执行不同的任务。此外,我们的门户仅包含搜索和创建功能。所以,我想要一个测试计划来测试 10 个执行不同任务的用户,比如 user1 搜索记录,user2 只是查看搜索结果,user3 创建记录,user4 删除记录等等。你能帮我为上述场景编写测试计划吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-16
      • 1970-01-01
      • 2013-08-30
      • 2010-11-21
      • 1970-01-01
      • 1970-01-01
      • 2010-09-21
      相关资源
      最近更新 更多