【问题标题】:Load Testing in Struts2 Application - JMeterStruts2 应用程序中的负载测试 - JMeter
【发布时间】:2020-01-22 09:32:22
【问题描述】:

我正在尝试第一次使用 JMeter 进行负载测试。

我的方法是逐页测试。

  1. 主页就像http://localhost:8180/myapp/login.do?actionType=login(I硬编码凭据) 我可以毫无问题地访问此页面。
    • 我创建了一个HTTP request 组件并且能够毫无问题地看到响应。
  2. 在主页上有一个填充报告的按钮,在浏览器中,url 就像 http://localhost:8180/myapp/mainmenu.do
    • 但是当我创建一个HTTP request 时,它正在到达但在“响应”中显示安全错误页面 Data' as 出于安全原因,我们仍然建议您关闭此窗口。

有人可以指导我如何在没有这些安全错误的情况下测试其他页面。这是一个struts2 Web 应用程序。

【问题讨论】:

  • 如果是 struts2 web 应用程序,那么为什么它有一个非标准的 url 扩展? AFAIK 扩展 do 是 Struts1 Web 应用程序的标准扩展。没有MCVE,就不可能重现错误。对 Web 应用程序逻辑的误解无助于提高问题的质量。

标签: jmeter struts2


【解决方案1】:

无论您正在测试的 Web 应用程序的底层使用什么技术,您都应该遵守一个简单的规则:

行为良好的 JMeter 测试必须发送与真实浏览器完全相同的请求

它包括:

任何动态值都需要正确correlated

一旦 JMeter 将发送与真实浏览器相同的请求,它应该会收到相同的响应。因此,只需使用像FiddlerWireshark 这样的第三方嗅探器工具来捕获来自浏览器和JMeter 的请求并修改JMeter 的配置,直到请求开始看起来完全一样。这应该可以解决您的问题。

【讨论】:

  • 嗨@Dimitri,即使在浏览器中,我遇到困难的页面也是http://localhost:9080/myApp/mainmenu.do?actionType=displayDailyReport&moduleID=MONITORING&userName=user1,如果我直接尝试访问 - 它会给出与我在JMeter中相同的错误,但如果我在chrome浏览器中在登录页面http://localhost:9080/myApp/login.do?actionType=login 之后访问提到的链接我可以在浏览器中看到该页面。这是由于 Session 还是什么?你能指导我如何在 JMeter 中解决这个问题
【解决方案2】:

通过添加HTTP Cookie Manger 和 将Cookie Policy设置为Standard

点击HTTP Cookie Manager

然后点击顶部的save 图标。

来源 https://jmeter.apache.org/usermanual/build-web-test-plan.html#adding_cookie_support

感谢@Dimitri T 和@Roman C 的宝贵建议。

【讨论】:

    猜你喜欢
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 2018-09-28
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多