• Python API+Postman+jmeter


    目录

    Python API

    get请求

    post请求

    Postman使用

    jmeter

    添加监听用于查看压测结果,Aggregate Report聚合报告、Graph Results图形结果、View Result in Table表格查看结果


    Python API

    通过python来创建api

    需要使用到的包有:flask,使用pip install falsk安装即可。flask_cors,使用pip install flask_cores安装即可。flask_cores用于跨域。

    get请求

    示例编码:

    1. import os
    2. import json
    3. from flask import Flask,request
    4. app = Flask(__name__)
    5. @app.route('/getInfo', methods=[ 'GET'])
    6. def getInfo():
    7. """接口注释·获取结果信息"""
    8. result = []
    9. text1 = {'id':"1",'name':"小龙女",'introduce':"活死人墓,冰山美人"}
    10. text2 = {'id':"2",'name':"小师妹",'introduce':"无崖子的小师妹"}
    11. text3 = {'id':"3",'name':"王语嫣",'introduce':"琅嬛福地,神仙姐姐"}
    12. text4 = {'id':"4",'name':"赵灵儿",'introduce':"灵蛇岛,灵珑小女孩"}
    13. text5 = {'id':"5",'name':"刘亦菲",'introduce':"国民女神"}
    14. result.append(text1)
    15. result.append(text2)
    16. result.append(text3)
    17. result.append(text4)
    18. result.append(text5)
    19. return json.dumps(result,ensure_ascii=False)
    20. if __name__ == '__main__':
    21. app.run(host='0.0.0.0', port=8080)

    这里的json序列化处理中添加了ensure_ascii=False代表能显示中文。我使用list格式,方便解析啥的。

    直接启动服务。

    接口访问:

    可以看到接口返回的数据是中文的,如果去掉ensure_ascii=False就会变成以下样例:

    跨域测试

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
    7. <title>跨域测试</title>
    8. <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
    9. </head>
    10. <body>
    11. <script>
    12. $(function(){
    13. $.ajax({
    14. url: "http://172.18.116.165:8080/getInfo",
    15. dataType: "json",
    16. type: "get",
    17. success: function(data) {
    18. console.log(data);
    19. data.forEach(element => {
    20. document.write(element.id);
    21. document.write(element.name);
    22. document.write(element.introduce);
    23. document.write("
      "
      );
    24. });
    25. }
    26. });
    27. });
    28. </script>
    29. </body>
    30. </html>

    可以正常加载,代表是跨域数据。

    post请求

    1. import os
    2. import json
    3. from flask import Flask,request
    4. from flask_cors import CORS
    5. app = Flask(__name__)
    6. CORS(app, resources=r'/*')
    7. @app.route('/getInfo', methods=[ 'GET'])
    8. def getInfo():
    9. """接口注释·获取结果信息"""
    10. result = []
    11. text1 = {'id':"1",'name':"小龙女",'introduce':"活死人墓,冰山美人"}
    12. text2 = {'id':"2",'name':"小师妹",'introduce':"无崖子的小师妹"}
    13. text3 = {'id':"3",'name':"王语嫣",'introduce':"琅嬛福地,神仙姐姐"}
    14. text4 = {'id':"4",'name':"赵灵儿",'introduce':"灵蛇岛,灵珑小女孩"}
    15. text5 = {'id':"5",'name':"刘亦菲",'introduce':"国民女神"}
    16. result.append(text1)
    17. result.append(text2)
    18. result.append(text3)
    19. result.append(text4)
    20. result.append(text5)
    21. return json.dumps(result,ensure_ascii=False)
    22. @app.route('/addInfo', methods=['POST'])
    23. def addInfo():
    24. id=request.form.get("id")
    25. name=request.form.get("name")
    26. introduce=request.form.get("introduce")
    27. result={"id":id,"name":name,"introduce":introduce};
    28. return json.dumps(result,ensure_ascii=False)
    29. if __name__ == '__main__':
    30. app.run(host='0.0.0.0', port=8080)

    Postman使用

    使用Postman对post访问接口进行访问测试。

    jmeter

    打开jmeter.bat文件

    操作面板

    添加组

    一般小测试写100就行,没有延迟,直接启动,不重复。

    添加一个http访问

    请求方法,其中4访问路径需要看具体的情况添加。如果需要参数,可以在下方点击add

    单独添加http请求

    使用方法

    添加监听用于查看压测结果,Aggregate Report聚合报告、Graph Results图形结果、View Result in Table表格查看结果

    执行

    保存结果

    可以重命名,可以直接重写替换。

    gui视图

    表格视图

    一般接口要求都是200毫秒。

    其实只访问10次还是很没有问题的。所以一般并发起来接口速度肯定慢。

    祝大家有所收获。

  • 相关阅读:
    【Ubuntu】配置ubuntu网络
    Linux csplit命令教程:如何根据内容分割文件(附实例详解和注意事项)
    【django】Forbidden (CSRF cookie not set.)
    为什么使用C#开发软件的公司和程序员都很少?
    『德不孤』Pytest框架 — 14、Pytest中的conftest.py文件
    UE5 C++ Widget练习 Button 和 ProgressBar创建血条
    小米汽车超级工厂智能物流
    【vue+ts】性能优化,defer优化白屏
    【Proteus仿真】【STM32单片机】便携式血糖仪
    HTML+CSS静态网页设计:(房地产网站设计与实现6页)
  • 原文地址:https://blog.csdn.net/feng8403000/article/details/126747517