专栏首页测试开发社区自研接口测试平台(Django2+Bootstrap3+Unittest)

自研接口测试平台(Django2+Bootstrap3+Unittest)

自研接口测试平台(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/

本文分享自微信公众号 - 测试开发社区(TestDevHome)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • App自动化测试方案

    (1)测试用例覆盖率(覆盖率决定测试效率,选择合适用例,应约占功能用例集的20%~50%)

    测试开发社区
  • 【AI测试】也许这有你想知道的人工智能 (AI) 测试--开篇

    大家看图中关于人工智能的定义。通俗点来说呢,就是 让机器实现原来只有人类才能完成的任务;比如看懂照片,听懂说话,思考等等。 很多人测试的同学会问,那人工智能是...

    测试开发社区
  • 软件测试之自动化测试

    自动化测试 自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程...

    测试开发社区
  • 为什么要做接口测试

    当前互联网产品迭代频繁的背景下,回归测试的时间越来越少,很难在每个迭代周期对所有功能做完整的回归测试。即使有比较完整的UI自动化(版本迭代带来UI在变, 维...

    louiezhou001
  • oracle 常用命令大汇总

    oracle 常用命令大汇总(第一篇)     第一章:日志管理     1.forcing log switches     sql> alter ...

    阿新
  • Kubernetes 1.5部署安装dashboard

    修改kubernetes-dashboard.yaml中配置信息: image: bg2273337844/kubernetes-dashboard-amd6...

    菲宇
  • Leetcode 58 Length of Last Word

    Given a string s consists of upper/lower-case alphabets and empty space charact...

    triplebee
  • 开源组件:(3)dbutils

    commons-dbutils 是 Apache 组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化...

    用户2398817
  • 当漏 – 针对技术人员的软件下载站

    我与梦想有个约会
  • 当漏 – 针对技术人员的软件下载站

    我与梦想有个约会

扫码关注云+社区

领取腾讯云代金券