使用jmeter完成完整的web文件下载(一)- cookie管理器
文章目录
jmter是常用的并发测试工具,但少有介绍一个完整的测试场景,列举截图来说明白如何使用。
本文列举了工作中需要测试的一个场景:web登陆,列出文件列表,下载某个文件。虽然流程简单,但是涉及到多个jmeter使用方式,故总结下来几个注意点,供参考。
第一部分是我对cookie管理器的使用和理解。
jmeter有cookie管理器,实测也很好用,但对于jmeter cookie管理有几点经验总结:
-
cookie本来是在http request的header中,在jmeter中的results tree却显示为request body中,容易让人误解。但其实cookie manager确实将cookie放在request的header中了,并完成了正确的request组装。
-
启动jmeter配置选项中的cookie save功能,可以在test plan中调用cookie中的任何变量。使head配置更自由。
- 修改jmeter.properties文件,重启jmeter。这样jmeter会解析获取到的cookie:
【场景】例如,希望抽取cookie中的XSRF-TOKEN变量,在下次请求中其value作为X-XSRF-TOKEN的header加入request中
-
增加cookie manager。
这样jmeter会将thread group中的cookie串起来,自动在后面的request中添加cookie到header中
可以设置每次请求都清理cookie -
验证解析到的cookie值。
增加debug sampler(类似于代码中的debug信息打印),可以将jmeter执行中的变量打印出来
运行一下,看是否解析cookie:
可以看到,开启cookie save功能后,jmeter将cookie自动解析为cookie_XXX,后面请求就可以调用这个变量啦 -
将解析到的cookie数据,自定义增加到后续web request的header中。
增加header manager。新增后续rquest的header项。(这里理论上header manager会在每个request中都加上这些header,虽然某些request是不需要的)
增加的header项名称为X-XSRF-TOKEN,其value就引用到了前面的${COOKIE_XSRF-TOKEN} -
验证header manager是否正确增加头部信息
执行一下,看看debug信息:
可以看到,header manager已经按照我们的需求,将新的项按照抽取到的变量值增加到http request中。
以上,完成了header的定制、变量抽取等。