软件测试|Flask框架-接口使用

简介: 软件测试|Flask框架-接口使用

设计框架原则:

  • 复用性
  • 高内聚,低耦合

举例:

  • 高内聚:将数据库的增删改查的操作都内聚在一个模块中管理,便于可读性
  • 低耦合:针对于扩展性,例如appium有很多工作引擎来切换,安卓,ios,小程序等,可以很方便的将新的引擎集成到框架中

高耦合示例:

在这里插入图片描述

  • 问题:判断条件过多,业务逻辑非常复杂

低内聚示例:

在这里插入图片描述

  • 问题:同一个路径对应过多请求方法,代码没有复用

Flask RESTX接口配置

  • flask-restx 是一个支持RESTFul的flask插件,用于规范化接口的编写,并且支持swagger文档
  • 支持python2.7和python3.4+版本

安装:

pip install flask-restx

示例:

from flask import Flask
from flask_restx import Resource, Api

app = Flask(__name__)
# 创建api对象
api = Api(app)


# 使用api来添加路由
@api.route('/hello')
# 类要继承Resource模块
class HelloWorld(Resource):
    # 定义restful 风格的get方法
    def get(self):
        return {'hello': 'world'}

    def post(self):
        return {'post': 'true'}


if __name__ == '__main__':
    app.run(debug=True)

遵守RESTFUL风格规范的代码

from flask import Flask
from flask_restx import Resource, Api

app = Flask(__name__)
# 创建api对象
api = Api(app)


# 使用api来添加路由
# 接口路径定义到类上,对应的不同请求操作创建不同的方法
@api.route('/hello')
# 类要继承Resource模块
class HelloWorld(Resource):
    # 定义restful 风格的方法
    def get(self):
        return {'code': 0, 'msg': 'get success'}

    def post(self):
        return {'code': 0, 'msg': 'post success'}

    def put(self):
        return {'code': 0, 'msg': 'put success'}

    def delete(self):
        return {'code': 0, 'msg': 'delete success'}


if __name__ == '__main__':
    app.run(debug=True)

添加路由的方式

  • 方式一(装饰器添加):@api.route()
  • 方式二(方法添加):api.add_resource(类名,路由路径,,,)
api.add_resource(HelloWorld, '/hello', '/demo')
相关文章
|
13天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
61 8
|
8天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
39 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
14天前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
38 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
4天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
31 11
|
18天前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
18天前
|
数据管理 jenkins 测试技术
自动化测试框架的设计与实现
在软件开发周期中,测试是确保产品质量的关键步骤。本文通过介绍自动化测试框架的设计原则、组件构成以及实现方法,旨在指导读者构建高效、可靠的自动化测试系统。文章不仅探讨了自动化测试的必要性和优势,还详细描述了框架搭建的具体步骤,包括工具选择、脚本开发、执行策略及结果分析等。此外,文章还强调了持续集成环境下自动化测试的重要性,并提供了实际案例分析,以帮助读者更好地理解和应用自动化测试框架。
|
19天前
|
监控 测试技术 定位技术
探索软件测试中的自动化测试框架选择与实施###
本文不概述传统意义上的摘要内容,而是直接以一段对话形式引入,旨在激发读者兴趣。想象一下,你是一名勇敢的探险家,面前摆满了各式各样的自动化测试工具地图,每张地图都指向未知的宝藏——高效、精准的软件测试领域。我们将一起踏上这段旅程,探讨如何根据项目特性选择合适的自动化测试框架,并分享实施过程中的关键步骤与避坑指南。 ###
30 4
|
18天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
60 3
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
77 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
下一篇
DataWorks