我是JMeter的新手,但是我对JMeter的用途有一些想法。我也有一个启用了表单身份验证的Tomcat应用程序。我尝试使用的线程包括:
以及以下一组HTTP采样器:
/app/logout.jsp
/app/login.jsp
app/j_security_check
在其中启用了“跟随重定向”和“使用KeepAlive”。我不知道为什么j_security_check请求响应重定向到logout.jsp。在Chrome浏览器中检查HTTP响应后,我注意到该请求重定向到index.jsp,但如果凭据合适,则永远不会重定向到注销页面。首先,我有一个想法,就是我没有模仿所有浏览器的HTTP标头,但是将所有这些标头添加到HTTP标头管理器后却失败了:
logout.jsp
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
但是即使指定了所有这些,我也无法模拟身份验证…有什么想法吗?提前致谢。
您是尝试记录登录过程还是全部手动完成?
如果手动,则您的请求之一可能缺少参数。
如果已记录,则可能会有一个需要动态的硬编码参数(JSessionID等)。您可能需要添加带有正则表达式的GET来检索此值并将其传递给POST。
如果期望将JSessionID作为参数,则将无法通过Cookie管理器传递它,则需要将其作为HTTP参数。
有关录制的摘要,请参阅http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf