jmeter-场景-上传文件-send-a-file
简要说就3点:
- POST请求
- Request的参数都写在路径内,不写在表单里
- 上传的文件写在表单里
只要记住以上3点,也就避免了在设计脚本的时候走弯路。下面具体图文并茂地介绍如何使用Jmeter实现上传文件的操作。
首先我参考了网上的一份文档《jmeter send a file.pdf》(资源在csdn上面,一搜就有),文档内提到了两个jar包,保险起见,可以参照这个方式。如下图:
然后我配置了自己的脚本
- 使用badboy录制脚本
- 将录制的脚本导入到jmeter
- 与开发人员沟通,去掉不必要的request,只保留最直接的request // 在jmeter内的操作,仅保留步骤1,禁用步骤2
- 由于涉及到了登录,所以开发人员提供了避开登录的后门,这样在一定程度上为脚本瘦身,使性能测试的目标更加明确
基本思路就是这样,讲完了。
简单说一下这个URL的意思也算是做到仁至义尽:用户(userid=tester)向音乐栏目内(topicid=music)的民谣图集(setid=folk)上传1个图片(testpic.jp)。
再随意拿实际场景举1个例子:
那么实际情况有可能是1个用户向多个图集(民谣图集、摇滚图集、爵士图集)同时上传图片,这样的话我们可以参数化setid,如下:
?topicid=music&userid=tester&setid=${__CSVRead(D:\data.csv,0)}${__CSVRead(D:\data.csv,next)}
data.csv文件内的数据如下图: