API接口自动化测试框架搭建之需求整理、详细设计和框架设计

1、需求整理

1.1 实现目的

  • API接口自动化测试,主要针对http接口协议;
  • 便于回归测试;
  • 线上或线下巡检测试,结合持续集成,及时发现运行环境存在的问题;
  • 提升个人自动化测试技术能力,为业务提供强有力的测试手段。

1.2 功能需求

  • 基于Unittest,封装、调用和组织所有的测试用例,进行批量或指定用例运行;
  • 支持邮件服务,可添加任意团队成员邮箱,及时通知团队成员自动化运行结果;
  • 支持log日志,保存运行过程所有或需要记录的数据;
  • 支持HTML测试报告,直观展示测试结果和数据;
  • 支持用例设计和测试结果分离,便于数据管理;
  • 支持token/cookie获取;
  • 使用HtmlTestRunner,可定制测试报告模板;
  • 全局变量配置,一键修改使用公用参数;
  • 支持单层接口依赖,可以扩展;
  • 使用excel管理测试用例,接口数据写起来快速方便;
  • 支持Jenkins持续集成;
  • 提供测试对象(基于Flask+Python的学生管理系统)

1.3 其他要求

  • 模块化设计,项目框架形式组织代码;
  • 公共方法封装,统一调用;
  • 数据和结果分开,清晰明了;
  • 支持邮件自定义;
  • 代码注释清晰。

1.4 适用人员

  • 有一定测试基础的软件测试人员;
  • 有一定的代码(Python/Java)功底;
  • 致力于学习API接口自动化测试的所有人员。

1.5 学习周期

  • 两个星期到一个月,可达到独立进行API接口自动化测试;

1.6 学习建议

  • 建议按照文章顺序,一步一步进行学习和实践;
  • 文章是从基本的环境搭建到最终框架完全搭建的一个过程,相对来说还是比较详细的;
  • 文章偏向于项目实战,未有太多的理论介绍和名词解释,所以对0基础的人员来说,可能需要额外的时间去补充一下知识;
  • 文章重点是教如何搭建框架,因项目的差异化,可能要对框架中的部分代码进行修改。

2、详细设计

2.1 需求分析

对实现需求进行详细分析,主要有下:

功能说明
使用Unittest框架开源自动化测试框架,直接使用
批量或指定用例运行Unittest框架可支持此功能
log日志使用Python的logging库即可
生成HTML测试报告使用HtmlTestRunner模块可实现此功能
用例设计和结果分离复制用例另存并写入测试结果
用户登录封装直接把登录功能模块化,使用Unittest框架中的setup,teardown即可
token/cookie获取登录保持会话
全局变量配置py配置文件
单层接口依赖保存返回值,读依赖caseid,替换请求数据
excel管理测试用例所有接口数据均在excel中维护
提供测试对象依据一套学生管理系统,进行接口测试环境搭建

2.2 技术栈

技术版本及说明
PythonV3.x(本文为3.7)===编程语言支撑
RequestV2.24.0===接口请求
HtmlTestRunner支持Python3
LoggingPython自带===生成log日志
UnittestPython自带===自动化测试框架
SmtplibPython自带===邮件服务
emailPython自带===邮件服务
osPython自带===系统模块
openpyxlV3.0.5===操作excel
xlrdV1.2.0===操作excel
xlwtV1.3.0===操作excel
ddtV1.4.2===数据驱动
configparserV5.0.2===config配置文件操作
PyCharmCommunity 2020.2汉化版
操作系统Windows10旗舰版64位
其它后续补充

3、框架设计

3.1 框架说明

3.2 框架数据流

4、预期结果

4.1 测试过程log日志

4.2 测试报告html格式

4.3 测试报告邮件格式

4.4 Excel用例格式

5、绵薄之力

最后分享自己总结的软件测试学习资料和路线,包括测试理论、Linux基础、MySQL基础、Web测试、接口测试、App测试、Python基础、Selenium相关、性能测试、LordRunner相关等,【点击文末小卡片免费领取】

 资源获取方式:

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# RESRful-API-with-vuejs 基于Python Flask的简易RESTful API接口,可实现基本的前后端分离。 ### 服务器端 采用Python Flask框架搭建基本api,可实现GET、POST、PUT、DELETE方法,为前端提供API接口。 片段: ```python #GET方法api @app.route('/todo/api/tasks', methods=['GET']) def getTasks(): return jsonify({'tasks': tasks}) ``` ### 前端 通过发送HTTP请求进行数据交互,此处使用vue.js框架进行示例,使用vue-resource发送HTTP请求。 片段: ```javascript compiled: function() { var self = this; //在编译后即调用API接口取得服务器端数据 self.$http.get('/todo/api/tasks').then(function(res) { self.tasks = res.data.tasks; }); }, ``` ### 项目依赖 * Python flask(请使用pip进行安装) * vue.js * vue-resource ### 运行 ``` python3 ./app.py ``` 打开浏览器,进入http://127.0.0.1:5000/ #### 备注(在virtualenv环境下运行的方法) 1、安装virtualenv ```shell $ pip3 install virtualenv ``` 2、创建项目目录 ```shell $mkdir project-name && cd project-name ``` 3、建立名为venv的虚拟环境 ```shell $virtualenv --no-site-packages venv ``` 4、进入虚拟环境 ```shell $source venv/bin/activate ``` 5、运行项目 ```shell (venv)python3 app.py ``` 6、退出虚拟环境 ```shell $deactivate ``` -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
在当前的健康意识增强和公共卫生管理日益重要的社会背景下,一个疫苗发布和接种预约系统对于确保疫苗接种的有序进行至关重要。本毕业设计项目旨在通过使用Spring Boot框架和MySQL数据库开发一个简洁、高效的疫苗发布和接种预约系统。 技术栈介绍: 后端框架:Spring Boot - 一个简化Spring应用开发的框架,允许快速搭建项目并自动配置。 数据库:MySQL - 一个流行的开源关系型数据库管理系统,用于存储和管理所有疫苗和用户预约数据。 安全框架:Spring Security - 提供认证和授权功能,保障用户信息和预约数据的安全。 前端技术:HTML, CSS, JavaScript - 构建用户友好的界面,提供良好的用户体验。 API设计:RESTful接口 - 标准化接口设计,便于前后端分离开发,提高系统的可维护性和扩展性。 工具:Maven或Gradle - 用于项目的依赖管理和构建。 系统功能介绍: 用户注册与登录:用户可以创建账户并进行登录,保证个人预约信息的安全性。 疫苗信息发布:管理员可以发布疫苗信息,包括疫苗名称、类型、适用人群、剂量等。 预约系统:用户可以选择疫苗种类和接种时间,进行在线预约。 预约管理:用户可以查看自己的预约记录,必要时可修改或取消预约。 接种点信息管理:系统包含接种点的详细信息,如地址、工作时间、可接种疫苗种类等,方便用户选择最合适的接种地点。 通知提醒:系统会通过电子邮件或短信形式向用户发送接种提醒,确保用户不会错过预约时间。 数据统计与分析:后台可进行预约数据的统计和分析,帮助管理者了解疫苗需求和接种进度,优化资源分配。 权限控制:不同级别的用户(如普通用户、管理员)有不同的操作权限,确保系统的数据安全和功能合理分配。 总之,该疫苗发布和接种预约系统利用了Spring Boot的快速开发特性和MySQL的稳定性,结合现代Web技术,提供了一个全面的解决方案,以支持疫苗接种工作的高效运行。通过这些功能的整合,系统不仅提高了用户的便利性,同时也为公共卫生管理提供了有力的技术支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值