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是多线程并行测试。