我正在尝试自动化测试Web应用程序 我已经使用JMeter代理模板(JMeter版本为3.2)记录了测试,有几次我在JMeter中运行测试时它运行正常,但过了一段时间后只有一部分运行正常。
以下是我正在做的步骤:
点击网址
登录应用程序
更改应用程序中的某些功能
等等。
所有步骤都先完成几次,但之后只有登录才能正常运行 为了确保我尝试使用Regular" Expression Extractor"将第一个请求中的jsessionid传递给下一个请求。我可以在View Results Tree中看到jsessionid正确传递,但是在第二步之后的下一页仍然会将我带入登录屏幕。
非常感谢任何帮助 我附上了截图以便更好地理解:
登录页面的响应标头包含一个sessionid,登录时由另一个请求使用 登录到下一页后,所有sessionID仍然正确维护,将我带到登录页面,而不是显示录制中接下来要做的事情。
答案 0 :(得分:0)
在JSF-based web applications的负载测试中,您需要至少注意以下动态参数:
JSESSIONID
是正常的HTTP cookie,因此添加HTTP Cookie Manager来处理它就足够了
javax.faces.Viewstate
是客户端状态管理机制,它还充当安全令牌以验证用户的来源。因此,您需要正确correlate它,即使用JMeter PostProcessors之一从先前的响应中提取,存储到JMeter变量中,并作为参数添加到下一个请求中。请记住为每个请求执行此操作。
可能有更多特定于应用程序的动态参数,检测它们的最简单方法是记录相同的请求(或方案)2次,比较记录的脚本,检测并解决差异。