我录制了一个简单的脚本,用于使用浏览器登录和注销应用程序。我检查了录制的脚本,一切正常,它记录了登录、主页和注销。
但是,当我回复时,我收到了登录请求的回复消息:"500This page has been expired Possible reasons, 1. Opened too many browser windows (or closed using the X button instead of button). 2. Session with Cassiopae has expired. Suggestion: Please close all Cassiopae windows and re-login. Currently the following screens are open None."
我使用 JMeter HTTP Cookie Manager 检查了 cookie 和 id,并正确处理了它们。还有哪些其他原因可能导致此失败。
谢谢你的帮助
答案1
在绝大多数情况下,你不能仅仅使用 JMeter 的HTTP(S) 测试脚本记录器现代网络应用程序广泛使用动态参数客户端状态跟踪或者安全原因
我的期望是,当您的测试应用程序期望它是动态的时,您会传递一个记录的硬编码值。
- 确保添加HTTP Cookie 管理器在您的测试计划中,如果您的应用程序基于以下因素维护用户会话饼干- 应该足以处理它。
虽然第 1 点是必须的,但如果动态参数不属于 cookie,那么这可能还不够。在这种情况下,您必须执行手动相关性以机智:
- 识别动态请求参数
- 使用合适的方法从先前的响应中提取它们JMeter 后处理器并将它们存储到JMeter 变量
- 用上一步中的变量替换记录的硬编码值。