2

我对 JMeter 很陌生,但我对 JMeter 的用途有一些想法。我还有一个启用了表单身份验证的 Tomcat 应用程序。我尝试使用的线程包括:

  • HTTP 请求默认值
  • HTTP Cookie 管理器
  • HTTP 标头管理器

以及以下一组 HTTP 采样器:

  • 登出页面 ( /app/logout.jsp)
  • 登录页面 ( /app/login.jsp)
  • j_security_check (/ app/j_security_check)

其中启用了跟随重定向和使用 KeepAlive。我无法弄清楚为什么 j_security_check 请求响应重定向到logout.jsp. 在 Chrome 中检查 HTTP 响应后,我注意到此类请求重定向到 index.jsp,但如果凭据正常,则永远不会重定向到注销页面。首先,我有一个想法,我没有模仿所有的浏览器HTTP头,但是我将它们都添加到HTTP头管理器后失败了:

User-Agent  Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.859.0 Safari/535.2
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding gzip,deflate,sdch
Accept-Language en-US,en;q=0.8
Host    localhost:8080
Referer http://localhost:8080/whapp/index.jsp

但即使在指定所有这些之后,我也无法模拟身份验证......有什么想法吗?提前致谢。

4

1 回答 1

2

您是否尝试记录登录过程,或者这些都是手动完成的?

如果手动,您的请求之一可能缺少参数。

如果记录,可能有一个需要动态的硬编码参数(JSessionID 等)。您可能需要添加一个带有正则表达式的 GET 来检索此值并传递给您的 POST。

如果 JSessionID 需要作为参数,您将无法通过 cookie 管理器传递它,您需要将其作为 HTTP 参数进行。

有关录制的概要,请参阅http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf

于 2011-09-02T16:07:36.277 回答