【从零开始】Django搭建接口自动化测试平台系列--开篇

Everybody,Ladies and 乡亲们,从今天开始我会陆续写一个【从零开始】使用Django搭建接口自动测试平台的系列博客。

希望能给有志于成为测试开发的同学一些参考。

首先,需要具备的基础知识点包括:

1、什么是接口:这里我们主要指API(Application Programming Interface,应用程序接口),它是一组定义、程序及协议的集合,通过 API接口可以实现计算机软件之间的相互通信。在如今web服务和移动app应用广泛的情况下,前后端分离大势所趋,它们之间的交互一般也是通过API来完成。

2、接口一般有哪些元素:1)请求方式、2)请求地址、3)请求参数、4)使用的协议类型、5)权限说明/调用限制、6)返回结果/参数说明、7)注意事项等

举个栗子:企业微信开发API》获取access_token;

tips1:附上地址:https://work.weixin.qq.com/api/doc/90000/90135/91039,我们在做工具的调试时可以用企鹅公司的这些开放API来进行调试。

3、什么是接口测试:接口测试是测试系统组件间接口的一种测试,测试对象包括系统与外部其他系统之间,以及系统内部各个子模块之间的接口。测试的重点是要检查接口参数传递的正确性,接口功能实现的正确性,输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性。

4、接口测试现状:大多数公司测试同学会使用Postman、Jmeter、Chrome开发者选项等工具进行接口测试或调试。

为什么要开发接口自动化测试平台?

主要原因是使用Jmeter等工具进行测试时,有一定上手门槛,保存的案例不好在测试组内进行良好的共享,开发维护的接口文档存在滞后,并且更新后需要测试同学又重新配置用例。接口的自动化测试和回归基本由脚本形式构成和完成,也有一定的上手门槛,迁移起来也不甚方便。

为解决这些问题,开发一个接口自动化测试平台是一个比较好的选择。

平台将要解决的问题或达到的目标:1、可供开发进行接口文档的在线维护;2、根据接口文档自动生成接口测试界面,支持在线测试;3、根据接口组合成测试案例,支持参数化回参,支持在线运行案例;4、根据案例组合成案例集,支持分类组合,并与CICD工具相互配合,在代码签入或部署测试环境时可以自动运行指定类别的案例集。

技术选型:开发语言(Python3.6.X+Javascript)+框架和库(后端Django3.1.3+前端Bootstrap+Jquery)+数据库(Mysql8.0.22);

                  开发工具IDE(Pycharm 2020.2.3+DataGrip 2020.2.3)

IDE大家也可以选择自己喜欢和顺手的,我使用DataGrip的原因是因为买了一个Jetbrains的全家桶。Pycharm正式版比社区版对代码的提示要好一些,推荐大家使用。

来看一下平台开发出来后的成果:

注册界面:

 

登录界面:

录入接口界面:

接口详情页面:

接口测试页面:

接口测试的一个实例展示:

录入案例页面--步骤调试并保存为实例:

 

录入案例页面--案例详情、执行场景、断言信息

案例详情页面: