问题描述:有的请求需要上传文件,这里就需要把http请求里把文件和参数一起传给服务器。
解决方案一:
1、在请求上勾选use multipart/form-data for post
2、在 parameters上写上需要上传的文件的参数名,值处要进行参数化(可以用fiddler和httpwatch、badboy等查看上传文件的参数名);也可以不写
3、在files upload上写上文件相关信息,具体如下:
1)文件名称:要上传的文件所在路径(如:D:\scriptFile\jmeter\data\ggpt-czda-weiming.xls)
2)参数名称:与前面写的参数名一致(可以用fiddler和httpwatch、badboy等查看上传文件的参数名)
3)MIME类型:application/vnd.ms-excel(因为这里要上传的是excel,所以这么写,别的类型百度一下)
解决方案二:
有时候会遇到直接传可能总是报错,也找不到原因,这时就可以考虑用BeanShell进行文件上传(用BeanShell的前置处理器或后置处理器都可以,根据需要而定)
这里可能需要从源代码去找上传文件这里的脚本,找到对应的脚本,粘贴过来放入script输入框中,
示例:题库上传word文档的脚本,选择了filename的命名规则这一句放入的BeanShell的script输入框。
uploader.on( 'beforeFileQueued', function( file ) {
upError = false;
var pick=this.options.pick;
pick=pick.split("_")[1];
var paperID=$(this.options.pick).attr("paperID");
$("#uploadPaperId").val(paperID);
file.name=Math.random()+file.name;
checkIsUpload(paperID,file,uploaders[pick]);
});