jmeter实际场景应用之测试上传excel文件
日常工作上测试的时候,会有一些场景是导入/上传文件。我们系统多是excel文件,这里就用excel文件为例,详述一下此次测试遇到的坑。最终结果是成功的,请看到最后!
1、获取接口的一些参数信息
先按F12调出控制台,然后实际操作一次,看一下调用的一些接口以及传参信息(会用到的,图中标注了1,2,3,4)
1、2是服务器ip、请求方式以及路径情况
3是信息头
4是请求参数
2、在jmeter上开始写
注意,这里参数名称【file】会是一个坑点
下面是请求头的配置。注意,这里参数【Content-Type】会是一个坑点
配置好这些参数后,执行,发现报错
查看请求参数等信息来分析
3、执行报错,开始一步步解决问题
比对发现参数没问题,但是对【fileUpload:(binary)】这一个参数有疑问,所以去问了前端开发
https://blog.csdn.net/weixin_44994731/article/details/111238747———对这种流形式的讲解
根据开发给的文档来看,是信息头中配置的Content-Type参数跟以前不太一样,我比对了一下,我配置的是对的,问题不是在这里
后又跟前端开发要了一个之前他们联调的参数请求来比对,发现Content-Type配置的确实不对
修改了头信息后,再次尝试,仍旧报错,再次比对,发现我的Contet-Type取值仍旧不对
再次去百度学习一波后,意识到,在请求参数这里这个Content-Type指的是这个参数的类型,而不是在头信息中配置
且这里的name指的是参数名称,因此对文件的一些配置参数信息做了调整(参数名称改成fileUplod是因为第一步获取参数时请求参数中写的时fileUpload,是要用在这里的)
excel文件的MIME类型是:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
保存后执行,仍旧报错(跟之前手动操作的参数信息各种比对,没有发现错误。心态有点崩……)
想着是不是系统暂时没法访问,就再次手动操作一次,继续比对参数
这次发现了不同,请求头信息中【Content-Type】的值,不一样了!!!这个是动态变化的
继续问百度,找到一个同病相怜的老哥(带箭头的是重点需要看的信息),最终解决办法是:只要把HTTP信息头里面的content-type整个移除即可。
把HTTP信息头里面的content-type整个移除后再次执行,成功!!