jmeter上传文件踩坑指南

前言:由于业务需求,需要通过jemter脚本进行文件上传。中间有两个难点,一是需要动态获取上个接口的uploadToken,二是上传文件接口的url还需动态传输进行编码。针对以上两个问题,进行了以下的处理方式,上传接口脚本设计如下。

1.建立测试计划,线程组
在这里插入图片描述
2.添加json提取器,获取文件上传令牌

在这里插入图片描述
3.设置上传文件的拼接路径,利用函数助手拼接编码参数

生成前的参数:

{"fileStatus":"T","fileStoretype":"A","fileType":"O","targetType":"image","uploadToken":"${uploadToken}"}

生成后的参数:

${__urlencode({ 		"fileStatus": "T"\, 		"fileStoretype": "A"\, 		"fileType": "O"\, 		"targetType": "image"\, 		"uploadToken": "${uploadToken}" })}

参数解析:上面代码中用到的是URL转码函数,打开函数助手对话框,选择__urlencode功能,选择把参数复制到函数参数的值中,点击生成,把箭头所指的值复制出来,就是jmeter本身生成的函数,可直接使用,生成结果如上所示
在这里插入图片描述
4.编写上传文件接口
生成的参数填写到路径上面:
在这里插入图片描述
设置好文件上传路径:
在这里插入图片描述
5.常用的MIME类型
//文档文件类型
.xlsx:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.ai application/postscript
.eps application/postscript
.exe application/octet-stream
.doc application/vnd.ms-word
.xls application/vnd.ms-excel
.ppt application/vnd.ms-powerpoint
.pps application/vnd.ms-powerpoint
.pdf application/pdf
.xml application/xml
.odt application/vnd.oasis.opendocument.text
.swf application/x-shockwave-flash

//压缩文件类型的
.gz application/x-gzip
.tgz application/x-gzip
.bz application/x-bzip2
.bz2 application/x-bzip2
.tbz application/x-bzip2
.zip application/zip
.rar application/x-rar
.tar application/x-tar
.7z application/x-7z-compressed

//文字类型
.txt text/plain
.php text/x-php
.html text/html
.htm text/html
.js text/javascript
.css text/css
.rtf text/rtf
.rtfd text/rtfd
.py text/x-python
.java text/x-java-source
.rb text/x-ruby
.sh text/x-shellscript
.pl text/x-perl
.sql text/x-sql

//图片类型的
.bmp image/x-ms-bmp
.jpg image/jpeg
.jpeg image/jpeg
.gif image/gif
.png image/png
.tif image/tiff
.tiff image/tiff
.tga image/x-targa
.psd image/vnd.adobe.photoshop

//音频文件类型的
.mp3 audio/mpeg
.mid audio/midi
.ogg audio/ogg
.mp4a audio/mp4
.wav audio/wav
.wma audio/x-ms-wma

//视频文件类型的
.avi video/x-msvideo
.dv video/x-dv
.mp4 video/mp4
.mpeg video/mpeg
.mpg video/mpeg
.mov video/quicktime
.wm video/x-ms-wmv
.flv video/x-flv
.mkv video/x-matroska

6.http请求默认值对整体脚本的影响
当整体脚本有http默认请求值,并且默认请求值里有参数时,接口会认为获取到了多个文件而进行报错,下图是默认请求值里有传token所造成的影响
在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值