Jmeter之文件上傳

在日常被測系統(tǒng)中,我們會(huì)經(jīng)常遇到文件上傳的操作,那么針對(duì)這樣的接口,使用接口測試測試工具Jmeter需要怎么操作呢,今天就來帶大家一起實(shí)際操作一下

前情描述:

因?yàn)槭鞘纠?,所以在本地用Flask定義好上傳接口,服務(wù)也是起在本地,以下是接口實(shí)現(xiàn)代碼

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.抓取文件上傳的接口相關(guān)參數(shù)

1. 啟動(dòng)示例程序,選擇要上傳的文件,點(diǎn)擊上傳

image

2.通過抓包工具抓取接口相關(guān)信息

image

這里幾個(gè)參數(shù)要關(guān)注下

  • URL:后端接口地址
  • Method:上傳文件的請(qǐng)求方式一般的post
  • Content-Type:文件上傳的類型,接口約定俗成的就是multipart/form-data

Step2:把抓到的接口用Jmter的請(qǐng)求的方式上傳

  1. 打開Jmeter壓測工具,創(chuàng)建對(duì)應(yīng)的線程組,取樣器

  2. 按照我們剛剛抓取的接口參數(shù),完善取樣器參數(shù)

image
  • IP:因?yàn)槭纠绦蚍?wù)起在本地,所以寫localhost,或者127.0.0.1
  • port:端口號(hào)9091
  • path:接口路徑/uploadfile
  • 參數(shù)這一列選擇文件上傳:Files Upload
    • File path :即是本地要上傳的文件的路徑
    • parameter Name:填寫file,如示例程序,為后端的獲取文件時(shí)定義的名字f = request.files['file']
    • MIME Type88:填寫抓包獲取的multipart/form-data

Step3.點(diǎn)擊發(fā)送,就可以看到結(jié)果樹顯示的正常結(jié)果

image

這樣,一個(gè)正常使用Jmeter上傳文件到接口就算完成了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容