因项目需要,这几天用到了jmeter进行性能测试,测试的是一个管理系统,需要用户先登录,然后才能做操作的,其中就遇到了关于session的问题。
我使用的是badboy(版本2.1)进行的脚本录制,然后导入到jmeter(版本2.7)中运行,登录前的几个请求都是正确的,登录后的请求全部都不行,跟踪“结果树”发现后面的请求都保持session,导致请求被拒绝。(其中运行环境为TOMCAT 6.0.35)
对sesion的配置的解决:
1、要在tomcat的/conf/Catalina/localhost下的对应的xml文件(host-manager.xml和manager.xml)加上"cookies="true",这样就可以用cookies来保存session id;
2、在jmeter加一个HTTP Cookie Manager(正常情况jmeter 2.7版本默认就会有这个,如果没有再添加一下),这样就可以提交session id了;
3、每个Http Request中,不要选中redirect automatically (自动重定向),否则以后的seesion id 会不一致;
如上这样配置后,再运行脚本,就正确了,我们在“结果树”中也能看到传递的sessionid了。