转载: https://白嘉豪. Baidu.com/s? id=1575717194591812 wfr=spider for=PC
一.个人资料
为什么需要接口管理和测试平台
随着系统业务的增长和模块之间的交互复杂化,在测试接口时会出现许多问题,包括:
界面文档更新延迟导致的界面模糊
测试时难免会出现思维发散的测试用例,测试用例在文档中的维护很麻烦
市面上的测试工具各有特色,测试人员找不到适合自己测试的工具,或者不方便在不同工具之间切换
由于接口的加密或验证功能,给测试带来了麻烦,工具很难扩展
自动化测试需要大量的编码维护
为了改善这些问题,使接口测试更加顺利。 我们在开源系统上进行了二次开发,集成了常用接口测试工具的功能,开发了新浪接口管理和测试平台。 功能更全面,更容易扩展。
接口管理和测试平台的主要特点
全面的功能
平台实现了项目界面编辑、文档导出、界面测试、用例记录、自动化测试、团队管理等功能,涵盖文档编辑、在线测试、自动化等各种场景
简单易用
传统的接口开发过程使用wiki、postman和soapUI等工具帮助开发和测试。 该平台将这些功能集成在一起,使整个项目的界面开发和测试更加方便快捷
解决了什么问题
消除接口文档的歧义
作为界面的文档可以用于在团队内部和外部共享界面文档,开发人员在更新界面的同时也同时更新向外部发布的文档,通过添加共享和在线测试功能,引起界面的模糊
一站式测试
在同一平台上进行在线测试、用例维护、自动化测试,进行参数常用的加密等处理,支持扩展。 不需要切换各种测试工具
共享测试用例
您可以随时保存测试用例和测试数据,并与团队成员共享
简化自动化测试
的用例可以直接用于自动化,不需要特殊维护
二.系统功能模块
图1是功能框图
1 .项目管理
它具有编辑/预览可视化界面、共享/导出文档等功能,以及通过web套接字机制实时通知团队成员操作的功能,是传统的wiki项目和界面
通过项目-模块-分类-界面层次关系,使界面自然分类,一目了然。 省去维客复杂的层次结构规划工作
标记编辑器支持
编辑页面更加人性化,界面的所有属性清晰,参数类型、说明定义严密,减少界面文档带来的歧义
阅读模式自动生成格式化文档,省去wiki的复杂格式化任务
测试模式可以进行在线模拟测试,可以在未在线之前切换环境,在界面协同工作时降低交流成本
可以直接导出PDF,便于浏览界面文档
2 .用户管理
包括用户信息、团队成员管理。 您可以直接使用LDAP域帐户登录,而无需注册,以维护团队成员并管理项目权限。
3 .接口测试
您可以进行在线测试并设置检查规则,以保存并在团队中共享测试的用例。 与常见的接口测试工具(如postman和soapUI )相比也有很多优势。
它支持多种接口协议,包括http、webSocket测试等。 (postman不支持网络套接字。 )
支持多种请求类型,如表单数据、x-www-form-urlencoded、raw和binary,可以根据响应类型(如json、xml、txt和jsonp )设置结果格式(
支持变量,所有测试环境和请求参数都可以以变量的形式无限扩展(其他工具不支持扩展或只有少量默认变量) )。
团队支持项目、接口和测试用例的共享。 不需要注册。 使用LDAP域帐户登录后,您可以加入团队并查看界面。 (postman必须与谷歌帐户共享,并且需要付费。)。
允许其他用户共享和浏览一个项目或界面(postman只能导出)
支持测试用例管理(soapUI提供测试用例管理,但操作复杂) )。
支持返回值验证,可以扩展验证规则。 其他工具只能使用默认的验证规则。)
4 .测试自动化
从数据库中读取并播放自动用例,然后检查返回结果。 支持执行计划的设置、一次执行或预约执行。 为了理解结合,分为三个模块。
Server :为前端调用提供接口,并传递给执行计划
任务运行器:在后台轮询发现数据库,获取未执行的任务,并运行并行状态
Email Sender :读取数据库并向执行者发送邮件
流程图如下。
图2自动运转流程图】
3 .系统体系结构
前端静态页面是基于nodejs、webpack gulp、vuejs和jqueryjs开发的;
>后端API 使用java开发,运行在tomcat8以上版本;
自动化运行程序使用python开发,轮询获取数据库中需要自动化运行的case,运行并回写结果;
系统架构图如下:
【图3 系统架构图】
四. 功能亮点展示
新浪接口测试平台实现了大部分日常接口开发和测试流程中所用到的功能,我们通过二次开发,也对许多功能进行了优化,并支持在使用过程中随时进行扩展。界面设计和操作步骤都非常简易,下面主要介绍一下功能亮点:
可视化编辑与分享,让接口撰写变简单
可视化编辑器,可随时修改并且浏览接口基本信息及参数,让开发在设计接口和撰写接口文档时更加方便。
完善的分享机制,通过权限控制,可以将某个项目或者接口分享给团队内外的人员,在线测试和mock功能可以增强团队合作的紧密程度。
多功能导出,支持导出PDF或JSON格式,PDF即为格式化的接口文档
【图4 接口可视化编辑界面】
在线接口测试,消除接口文档歧义
支持在线测试,接口文档撰写好后即可在线测试,方便前后端开发联调,降低错误率
支持参数变量化,简化接口因加密带来的测试工作量,方便测试
支持多种协议,目前有http,webSocket协议,可扩展
支持返回结果校验,方便回归测试
【图5 在线接口测试演示】
测试用例管理,使测试过程有迹可循
支持测试用例保存和查看,团队成员可互相审阅测试用例,减少项目交接带来的工作量
支持多种格式校验,测试用例可以对返回结果设置校验,包括http返回码,json值校验等,方便回归测试以及自动化测试
【图6 测试用例管理界面】
在线编写自动化测试,让大家都能够参与测试
自动化用例编辑可视化,使自动化过程更加简单明了
完善的自动化运行机制,支持接口参数和环境变量化,实现不同环境下运行同样的测试用例
丰富的结果展示,方便问题查询
【图7 自动化测试界面】
五. 参考文档
小幺鸡项目源码地址:
https://git.oschina.net/zhoujingjie/apiManager.git,我们在小幺鸡的基础上开发和封装了接口管理与测试平台