目录
添加监听用于查看压测结果,Aggregate Report聚合报告、Graph Results图形结果、View Result in Table表格查看结果
通过python来创建api
需要使用到的包有:flask,使用pip install falsk安装即可。flask_cors,使用pip install flask_cores安装即可。flask_cores用于跨域。
示例编码:
- import os
- import json
- from flask import Flask,request
-
- app = Flask(__name__)
-
- @app.route('/getInfo', methods=[ 'GET'])
- def getInfo():
- """接口注释·获取结果信息"""
- result = []
- text1 = {'id':"1",'name':"小龙女",'introduce':"活死人墓,冰山美人"}
- text2 = {'id':"2",'name':"小师妹",'introduce':"无崖子的小师妹"}
- text3 = {'id':"3",'name':"王语嫣",'introduce':"琅嬛福地,神仙姐姐"}
- text4 = {'id':"4",'name':"赵灵儿",'introduce':"灵蛇岛,灵珑小女孩"}
- text5 = {'id':"5",'name':"刘亦菲",'introduce':"国民女神"}
- result.append(text1)
- result.append(text2)
- result.append(text3)
- result.append(text4)
- result.append(text5)
- return json.dumps(result,ensure_ascii=False)
- if __name__ == '__main__':
- app.run(host='0.0.0.0', port=8080)
这里的json序列化处理中添加了ensure_ascii=False代表能显示中文。我使用list格式,方便解析啥的。
直接启动服务。
接口访问:
可以看到接口返回的数据是中文的,如果去掉ensure_ascii=False就会变成以下样例:
跨域测试
- <!DOCTYPE html>
- <html lang="en">
-
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <title>跨域测试</title>
- <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
- </head>
-
- <body>
- <script>
- $(function(){
- $.ajax({
- url: "http://172.18.116.165:8080/getInfo",
- dataType: "json",
- type: "get",
- success: function(data) {
- console.log(data);
- data.forEach(element => {
- document.write(element.id);
- document.write(element.name);
- document.write(element.introduce);
- document.write("
"); - });
- }
- });
- });
- </script>
- </body>
-
- </html>
可以正常加载,代表是跨域数据。
- import os
- import json
- from flask import Flask,request
- from flask_cors import CORS
- app = Flask(__name__)
-
- CORS(app, resources=r'/*')
- @app.route('/getInfo', methods=[ 'GET'])
- def getInfo():
- """接口注释·获取结果信息"""
- result = []
- text1 = {'id':"1",'name':"小龙女",'introduce':"活死人墓,冰山美人"}
- text2 = {'id':"2",'name':"小师妹",'introduce':"无崖子的小师妹"}
- text3 = {'id':"3",'name':"王语嫣",'introduce':"琅嬛福地,神仙姐姐"}
- text4 = {'id':"4",'name':"赵灵儿",'introduce':"灵蛇岛,灵珑小女孩"}
- text5 = {'id':"5",'name':"刘亦菲",'introduce':"国民女神"}
- result.append(text1)
- result.append(text2)
- result.append(text3)
- result.append(text4)
- result.append(text5)
- return json.dumps(result,ensure_ascii=False)
-
-
- @app.route('/addInfo', methods=['POST'])
- def addInfo():
- id=request.form.get("id")
- name=request.form.get("name")
- introduce=request.form.get("introduce")
- result={"id":id,"name":name,"introduce":introduce};
- return json.dumps(result,ensure_ascii=False)
-
-
- if __name__ == '__main__':
- app.run(host='0.0.0.0', port=8080)
使用Postman对post访问接口进行访问测试。
打开jmeter.bat文件
操作面板
添加组
一般小测试写100就行,没有延迟,直接启动,不重复。
添加一个http访问
请求方法,其中4访问路径需要看具体的情况添加。如果需要参数,可以在下方点击add
单独添加http请求
使用方法
执行
保存结果
可以重命名,可以直接重写替换。
gui视图
表格视图
一般接口要求都是200毫秒。
其实只访问10次还是很没有问题的。所以一般并发起来接口速度肯定慢。
祝大家有所收获。