Jmeter之文件上传

在日常被测系统中,我们会经常遇到文件上传的操作,那么针对这样的接口,使用接口测试测试工具Jmeter需要怎么操作呢,今天就来带大家一起实际操作一下

前情描述:

因为是示例,所以在本地用Flask定义好上传接口,服务也是起在本地,以下是接口实现代码

 1 UPLOAD_FOLDER = 'upload'
 2 app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
 3 basedir = os.path.abspath(os.path.dirname(__file__))
 4 ALLOWED_EXTENSIONS = set(['txt', 'png', 'jpeg','jpg', 'xls', 'JPG', 'PNG', 'xlsx', 'gif', 'GIF', 'doc', 'docx', 'ppt', 'pptx'])
 5 # upload file
 6 @app.route('/uploadfile', methods=['POST'], strict_slashes=False)
 7 def api_upload():
 8     file_dir = os.path.join(basedir, app.config['UPLOAD_FOLDER'])
 9     if not os.path.exists(file_dir):
10         os.makedirs(file_dir)
11     f = request.files['file']  # get the file name
12 
13     if f and allowed_file(f.filename):  # Verify the file type
14         fname = secure_filename(f.filename)
15         ext = fname.rsplit('.', 1)[1]
16         unix_time = time.time()
17         new_filename = str(unix_time) + '.' + ext
18         f.save(os.path.join(file_dir, new_filename))
19         print(f'{f.filename} upload success!')
20         return jsonify({'code': 200, 'result': 'success', 'msg': f'file {f.filename} upload success'})
21     else:
22         print(f'{f.filename} upload failed!')
23         return jsonify(
24             {'code': 500, 'result': 'failed', 'msg': f'file {f.filename} upload fail, please check the file type'})
  • ALLOWED_EXTENSIONS:允许上传的文件格式

Step1.抓取文件上传的接口相关参数

1. 启动示例程序,选择要上传的文件,点击上传

 

 2.通过抓包工具抓取接口相关信息

 

 

 

 

 这里几个参数要关注下

  • URL:后端接口地址
  • Method:上传文件的请求方式一般的post
  • Content-Type:文件上传的类型,接口约定俗成的就是multipart/form-data

Step2:把抓到的接口用Jmter的请求的方式上传

1.打开Jmeter压测工具,创建对应的线程组,取样器

2.按照我们刚刚抓取的接口参数,完善取样器参数

 

 

 

  • IP:因为示例程序服务起在本地,所以写localhost,或者127.0.0.1
  • port:端口号9091
  • path:接口路径/uploadfile
  • 参数这一列选择文件上传:Files Upload
    • File path :即是本地要上传的文件的路径
    • parameter Name:填写file,如示例程序,为后端的获取文件时定义的名字 f = request.files['file'] 
    • MIME Type:填写抓包获取的multipart/form-data

      

3.点击发送,就可以看到结果树显示的正常结果

 

 

 

这样,一个正常使用Jmeter上传文件到接口就算完成了

 

posted @ 2020-06-22 10:33  倔强的数学天才  阅读(706)  评论(0编辑  收藏  举报