0

我现在正在使用 JMeter 测试基于 Bonitasoft 的 Web 应用程序的性能,但我在登录时遇到了一些问题。

我使用 HTTP 测试脚本记录器记录测试脚本,但其中一个请求(登录)得到响应代码 500,并且服务器日志显示会话超时。

我读到了其他类似的问题,并且我有 HTTP cookie 管理器,我使用“跟随重定向”,而不是“自动重定向”。我也没有找到任何带有 JSESSIONID 的请求。

我将不胜感激任何帮助!;)

4

1 回答 1

0

相信登录成功后会出现JSESSIONID cookie。您可以尝试使用诸如 Fiddler 或 Wireshark 之类的嗅探器工具从 Web 浏览器记录您的流量,并将浏览器发送的内容与 JMeter 的请求进行比较。

我的期望是您缺少一些登录请求强制值。您可以尝试查看登录页面的源代码,看看是否有类似的东西

<input type="hidden"..>

我猜您在登录请求中缺少诸如“viewstate”之类的内容,这就是它被拒绝的原因。

如果我的猜测是正确的,您可以使用 JMeter正则表达式提取器后处理器从页面源获取动态值并在以下请求中提供它们。

例如,如果您有以下输入:

<input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="1ffVEvtAxEXyO+Mq561c58UaygSCfODTuKhiyBB7MATW+QQhvdmMhqtAU1AZey37+ZBtxx0Q0XfMl3v02hurmowb+bbxZHpBEJzcLPfE+e1ESTuA6mT6IUn5xH8=" />

您应该能够使用 RegEx 提取此值,例如:

<input type="hidden" name="javax.faces.ViewState" id="(.+?)" />

测试正则表达式的好地方是Jakarta Oro Demonstration Applet

于 2013-11-14T11:44:35.993 回答