自研接口测试平台(Django2+Bootstrap3+Unittest)
2019-05-21 20:23 zouhui 阅读(403) 评论(0) 编辑 收藏 举报自研接口测试平台(Django2+Bootstrap3+Unittest)
HttpRuleTest是一款面向 HTTP 协议的通用测试框架,只需web端维护接口测试数据,即可实现自动化测试、监控、数据统计、持续集成等多种测试需求。开发语言: python3.6,适用的操作系统:Linux/mac/Windows。
设计理念
降低接口自动化的维护成本,增加测试体验,提高测试效率
充分复用优秀的开源项目,不追求重复造轮子,而是将强大的轮子组装
遵循
约定大于配置
的准则,在框架功能中融入最佳工程实践追求投入产出比,一份投入即可实现多种测试需求
核心特性
测试者通过管理接口,通过接口名去建立单接口多用例测试
测试者只需维护数据,数据会按照规则去生成脚本
测试者采用断言验证数据结果,以及可以使用接口依赖功能
测试者可以使用sql初始化,断言状态前,以及析构 执行
测试者可以通过sql获取变量或者接口依赖获取变量使用${变量名}进行替换
采用配置化管理访问环境和发送邮件
测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
集成apschedule框架,采用crotable定时模式
继承 Requests 的全部特性,轻松实现 HTTP的各种测试需求
使用 unittest的单元测试框架,面向深层次用户可以自行扩展生成的脚本
Web 平台化,操作便捷,避免各地管理脚本和数据的混乱
添加项目
添加接口
添加用例
生成任务
查看报告
断言
断言配置提供了4种方式,状态码,正则加字典的方式,jsonpath,数据库字段值的校验。比对方式也提供了多种选择,有等于,不等于,包含,不包含在列表中等等。
1.状态码校验,填写关键字status_code,系统就会默认选择状态码校验
2.数据库字段值的校验,这个要配合sql一起实现。sql中配置了查询的sql,将变量值获取,选取中间态执行,然后配置断言(${item_type})(${amount})方式校验结果
(如果数据库存有”的字符串,系统自动替换成‘,所以实际结果直接写单引号就可以了;如果数据库存有,的字符串,系统自动替换成+,所以实际结果直接写+就可以了)
(如果断言的结果涵盖布尔值的时候,与其对应的常量需要填写True或者False)
3.下面两种方式用例子来介绍,下图展示了一个json的数据,我要断言到result第一个对象的couponId值。['d']['result'][0]['couponId'],遇到字典用[''],一定要用单引号,遇到数组用[]。这样就能一直遍历下去。
4.jsonpath方法,采用'.'开头,也是刚才那个字段.d.result[0].couponId,遇到字典用.遇到数组用[],这里可以用json格式化小工具去获取path。
架构组织图
本文转自:https://tech.kujiale.com/zi-yan-jie-kou-ce-shi-ping-tai/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2017-05-21 《软件自动化测试开发》出版上市-广而告之
2017-05-21 《软件自动化测试开发》出版上市-广而告之