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

自研接口测试平台(Django2+Bootstrap3+Unittest)的更多相关文章

  1. jenkins+ant+jmeter搭建持续集成的接口测试平台

    一.jemter接口脚本的编写步骤如下: 1. 编写接口请求 通过录制或者查看接口文档,编写接口请求,进行调试,确保接口调试通过,对于http的请求来说,就是正确的填写域名,查询字符串,查询参数等信息 ...

  2. flask + Python3 实现的的API自动化测试平台---- IAPTest接口测试平台(总结感悟篇)

    前言: 在前进中去发现自己的不足,在学习中去丰富自己的能力,在放弃时想想自己最初的目的,在困难面前想想怎么踏过去.在不断成长中去磨炼自己. 正文: 时间轴 flask + Python3 实现的的AP ...

  3. jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)

    jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter) 一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/jav ...

  4. Jenkins+Ant+Jmeter搭建持续集成的接口测试平台(转)

    一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...

  5. 【转】Jenkins+Ant+Jmeter搭建持续集成的接口测试平台

    一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...

  6. Linux下搭建HttpRunnerManager接口测试平台

    前言 之前在学习HttpRunner时,我们都是把用例写在 YAML/JSON 中进行维护,使用起来也很方便.其实,现在有不少大佬都喜欢开发自动化测试平台,比如我们今天要搭建的HttpRunnerMa ...

  7. flask 开发接口测试平台

    flask 开发接口测试平台 数据库,forms  views  视图, 数据库如下: # encoding: utf-8 ''' @author: lileilei @file: models.py ...

  8. 测开之路六十:接口测试平台之common目录

    实现接口测试平台使用jsonpath进行取值来断言,效果: 访问页面: 调试功能:http://www.kuaidi100.com/query 保存功能 触发执行功能 查看报告功能 目录结构 comm ...

  9. 使用dubbo-go搭建dubbo接口测试平台

    背景 http接口测试只需要一个curl命令,但dubbo协议没有这样的现成接口测试工具.通常公司内的dubbo控制台或其他平台会集成一个dubbo接口测试工具. 调用一个dubbo接口,需要知道服务 ...

随机推荐

  1. bzoj2127happiness(最小割)

    一眼最小割. 一种比较好想的建图方式如下: 连源点表示学文,连汇点表示学理,然后adde(S,id(i,j),a[i][j]),adde(id(i,j),T,b[i][j]):对于相邻座位选择同一科的 ...

  2. iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码

    iOS精选源码 如丝般顺滑的微信朋友圈(点赞,评论,图文混排表情,... 动态菜单第三版本:动态项,自适应方向 仿appstore首页滚动效果 iOS 透明导航栏方案 TransparentNavig ...

  3. mysql之DTS的那些事

    最近才考虑数据库迁移,想起了之前做DTS踩过的那些坑. 基于数据库迁移,比如从源A库迁移到源B库,包括但不限于数据库上云. 数据库迁移方案有两种场景: (1).停机迁移方案 这种方案是允许停服的场景, ...

  4. web前端——CSS详解

    简介 CSS(Casading Style Sheet)是一组HTML元素外观的设置规则,用于控制web页面的表现形式,一般被翻译为"级联样式表"或"层叠样式表" ...

  5. Complier

    Complier [2019福建省赛] 模拟题应该有信心写,多出一些样例 当/* 与// 在一起的时候总会出错,一旦出现了这些有效的 应该把它删掉不对后面产生影响 #include<bits/s ...

  6. voxelmorph配置

    简介 VoxelMorph使用CNN实现了非监督的医学图像配准,速度较之前的方法有很大提升.主要特点有: 提出了一种基于学习的解决方案,不需要在训练过程中获取诸如ground truth对应或解剖标志 ...

  7. Java基础语法要点

    1.Java中byte.short.int.long的取值范围 byte:[-128,127] short:[-32768,32767] int:[-2147483648,2147483647] lo ...

  8. COMET探索系列一【COMET实践笔记】

    这几天在给公司的一个点对点聊天系统升级,之前只是使用简单的ajax轮询方式实现,每5秒钟取一次数据,延时太长,用户体验不是很好,因此打算采用服务器推送技术,故此整理了以下文档,将自己找到的一些资料及心 ...

  9. JAVA循环结构学校上机经常遇到的几题 笔记

    package homework.class4; import java.util.*; import java.util.stream.Collectors; import java.util.st ...

  10. Introduction to Computer Science and Programming in Python--MIT

    学习总结--(Introduction to Computer Science and Programming in Python--MIT) 导论 主题 重新利用数据结构来表达知识 理解算法的复杂性 ...