美文网首页
Jmeter之文件上传

Jmeter之文件上传

作者: 是立品啊 | 来源:发表于2020-07-13 21:43 被阅读0次

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

    前情描述:

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

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

    上传文件步骤

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

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

    image

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

    image

    这里几个参数要关注下

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

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

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

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

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

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

    image

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

    相关文章

      网友评论

          本文标题:Jmeter之文件上传

          本文链接:https://www.haomeiwen.com/subject/punzcktx.html