如果测试的Web应用系统使用URL回写而非Cookie来保存会话信息,那么测试人员需要做一些额外的工作来测试web站点
为了正确回应URL回写,JMeter需要解析从服务器收到的HTML,并得到唯一的会话ID。测试人员需要使用合适的HTTP URL回写修改器来完成这一点。测试人员只需简单地讲会话ID参数的名称放入修改器中,修改器就会找到会话ID,并将其放入每个请求之中。如果请求之中已经有了会话ID,那么它就会被替换掉。如果选中了“Cache Session ID?"选项,那么最近一个被找到的会话ID将会保存下来。当前一个HTTP采用不包含会话ID时,就会使用到保存下来的会话ID值。
在HTTP URL Re-writing Modifier页面,输入会话参数名称(SESSION_ID)
URL回写例子:
如图3-35所示,其中显示了一个使用URL回写的测试计划。请注意,URL回写修改器(HTTP URL Re-writing Modifier)被添加在简单控制器(Simple Controller)之下,这就意味着它只影响简单控制器下的请求。
如图3-36所示,可以看到URL回写修改器的GUI,其中只有一个输入域供用户指明会话ID参数的名称。这里还有一个选项,用于指明会话ID是路径的一部分(使用";"划分),而不是作为请求的参数。
图3-35 URL回写例子的测试树 |
图3-36 HTTP URL回写修改器 |
2.使用HTTP信息头管理器
使用HTTP信息头管理器,可以帮助测试人员设定JMeter发送的HTTP请求头部所包含的信息。HTTP信息头中包含有"User-Agent"、"Pragma"、"Referer"等属性。
HTTP信息头管理器(HTTP Header Manager)就像HTTP Cookie管理器(HTTP Cookie Manager),应该尽可能地放在线程组一级。除非因为某些原因,测试人员希望不同的HTTP请求使用不同的HTTP信息头。