做公司项目的压力测试,想要开至少两个线程组,第一个线程组只放登录接口,第二个线程组放另外一个设备总览的接口(前提是需要先登录)。去网上搜索了相关资料,了解了使用Beanshell设置全局变量便可以使多个线程共用一个变量。一开始我是这么写Jmeter中的配置的,但是总是发现首次跑脚本登录接口不返回cookie,正则表达式也获取不到,致使全局变量的newCookie也没有值,自然而然设备总览这个接口得不到cookie就会提示session失效。奇怪的是第二次就能全流程成功,第三次就又会出现第一次的情况,第四次又能全部成功。循环往复。上述现象如图:
经过多次执行脚本以及查看结果树的内容,发现
经过调整,就不会再出现上面的一次成功一次失效的问题了。就在登录接口的信息头管理多添加了下面的内容
然后每次登录都能生产并获取cookie,这样需要登录作为前提基础的其他接口每次都能运行返回响应数据了