Postman和Jmeter進行上傳檔案及壓力測試
postman下載下傳連結:https://www.postman.com/downloads/
Jmeter下載下傳連結:http://jmeter.apache.org/download_jmeter.cgi
flask代碼位址:https://github.com/yy2lyx/FlaskTutorial/tree/master/Flask-7-upload
windows下scoop下載下傳jdk(這裡是由于Jmeter需要):
scoop install ojdkbuild
一. 建構接口的flask服務
其中包含前端表單index.html檔案如下和flask的後端
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>upload</title>
</head>
<body>
<form action = "/success" method = "post" enctype="multipart/form-data">
<input type="file" name="file">
<input type = "submit" value="Upload">
</form>
</body>
</html>
二. Postman的http接口測試
postman分别在header和body中填入下圖:
- headers中需要填入value:multipart/form-data
- body 中需要填入key:file(這裡參考index.html檔案中name=“file”),value:eml檔案位址
- 然後将寫好的儲存在collections當中,并建構tests選項(如果不填入,後面的串行壓力測試無法開始,報錯)
- 通過collections中選中儲存好的請求,run即可
三. Jmeter的http接口測試
在下載下傳解壓好的jmeter二進制檔案中打開:
apache-jmeter-5.3\bin\jmeter.bat
- 建立一個線程組,如下圖,包括http請求及監聽
- 線程中填入線程總數,和全部線程開啟總的時間(這裡由于需要測試并發1小時2萬次通路)
- 在http請求頁面填入請求的參數
- http頁面下面不用填Parameters和BodyData,在Files Upload中填入下圖,其中file和上面一緻,而MIME Type需要通路https://www.freeformatter.com/mime-types-list.html,找到其中.eml格式前面的
- 運作,即可看到并行的接口請求情況
四. 總結
- 一般的網絡接口測試,功能性測試postman較為好用。
- 需要測試高并發的情況下,隻能用Jmeter來進行測試,因為postman是串行,而Jmeter是多線程并行測試。