在日常被測系統(tǒng)中,我們會經(jīng)常遇到文件上傳的操作塌忽,那么針對這樣的接口拍埠,使用接口測試測試工具Jmeter需要怎么操作呢,今天就來帶大家一起實際操作一下
前情描述:
因為是示例土居,所以在本地用Flask定義好上傳接口枣购,服務(wù)也是起在本地,以下是接口實現(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. 啟動示例程序装盯,選擇要上傳的文件坷虑,點擊上傳
2.通過抓包工具抓取接口相關(guān)信息
這里幾個參數(shù)要關(guān)注下
-
URL
:后端接口地址 -
Method
:上傳文件的請求方式一般的post -
Content-Type
:文件上傳的類型,接口約定俗成的就是multipart/form-data
Step2:把抓到的接口用Jmter的請求的方式上傳
打開Jmeter壓測工具埂奈,創(chuàng)建對應(yīng)的線程組迄损,取樣器
按照我們剛剛抓取的接口參數(shù),完善取樣器參數(shù)
- IP:因為示例程序服務(wù)起在本地账磺,所以寫localhost,或者127.0.0.1
- port:端口號9091
- path:接口路徑/uploadfile
-
參數(shù)這一列選擇文件上傳:Files Upload
- File path :即是本地要上傳的文件的路徑
-
parameter Name:填寫file,如示例程序,為后端的獲取文件時定義的名字
f = request.files['file']
- MIME Type88:填寫抓包獲取的multipart/form-data
Step3.點擊發(fā)送芹敌,就可以看到結(jié)果樹顯示的正常結(jié)果
這樣,一個正常使用Jmeter上傳文件到接口就算完成了