大家好,我是狂师。
关注公号比较早的老粉丝应该知道,早在2019年,由我主导发起过一个开源实战项目: STP ,全称:Smart Test Platform
,译为:智慧测试平台。
其中智慧有两层意思,第一层,寓意集众人之智慧,群力群策,第二层,寓意平台支持功能的多样性,灵活性,丰富性,目标是能满足各类通用测试服务能力支持。
当年这个项目发起后,最后差不多有两百多人报名参与。 但谁曾想,2019年底,全国疫情突发,打乱了很多原有的计划。再加上其它的一些原因,这个项目仅维持了几个月后, 就无疾而终了。这些原因虽有一定影响,但说到底,还是我当时的执行力不够!而STP这个项目也成为了我的一个小遗憾。
而如今,AI编程盛行,想独立开发一款平台,已不再是难事,不需要像以前那么多人,也不需要那么长的周期。前两周在梳理近期工作计划时,想重拾STP这个项目,于是说干就干。
一人一脑,花了9天,STP智能测试平台现已基本初步成型。
这个平台,名称也由原先的"智慧测试平台",更名为智能测试平台 ,寓意它的功能在AI的能力加持下,会更加的智能、易用、实用。
接下来,我会通过系列文章,介绍分享STP平台的关键特性。作为第一篇,重点以接口自动化测试为例 ,话不多说,跟着来我认识学习STP智能测试平台吧。
1、关键技术栈
关于STP平台的实现细节和关键技术栈,一两句说不清楚,后面有时间再单独讲,先简单列举一下。
后端
- Python 3.13.5
- Django 5.1.5
- Django REST Framework 3.15.2
- SimpleUI (管理后台美化)
- PostgreSQL/MySQL
- Redis
- Celery
前端
- Vue.js 3
- TypeScript
- Element Plus
- Vue Router
- Pinia
- Axios
2、平台使用
1、访问STP平台在线地址,如果是本地开发环境的话,浏览器访问: http://localhost:30000
即可进入平台首页。
平台预览图,暂还未设计
2、点击立即体验 或开始使用 按钮,进入到平台登录页面:
没有帐号的话,可以先找注册一个,不过这里值得额外提一下,STP平台用户注册,作了一些精心设计。
在后台系统设置中,可以设置注册用户是否开启邀请码验证。

如果你的平台对外公开使用但你又不希望所有人都能随便使用你的平台时,可以开启邀请码验证机制。

此时需要先找管理员申请邀请码,注册时会验证邀请码是否有效以及是否匹配正确。(设置了三层安全校验机制)

如果是将STP平台部署在公司企业内供团队成员使用,你只需要在后台将邀请码验证机制关闭即可。这样,所有人都可以申请注册了。
3、有了帐号之后,登录成功,就会自动跳转到平台工作台。

平台工作台做了很多巧妙,且易用性的设计,比如可以在工作台首页上,通过可视化图表查看平台的一些关键数据,平台操作记录、还有一些常用快捷入口。
还支持上传帅气或漂亮的个人头像,以及修改用户信息,自定义昵称等。
3、利用STP平台开展接口自动化测试
1、接下来,我们将以全栈测试开发训练营API实战演练项目
为例,大致讲解一下如何利用STP平台开展接口自动化测试。(更为详细的介绍,等平台正式开放后,可查看详细使用文档)

2、在项目管理中,新建项目,比如:示例测试项目
,在STP平台中,都是以项目作为管理单位和控制权限的。

有了项目之后,可以在项目管理->项目模块菜单中,新建或维护项目模块,模块层级不限。(支持树状和表格列表两种风格展示)
项目创建好之后,在项目配置中,启用基础URL,简单来说,就是配置待测项目的API相同部分前缀地址,比如上述全栈测试开发训练营API实战演练项目
基础URL为:
http://127.0.0.1:8001/api/v1

启用基础URL功能的好处在于,后续在新建或编辑接口时,接口用例中只需要填写接口路径,不需要写完整环境URL,后续在不同环境运行时,只需要启用不同环境基础URL即可,接口用例不需要做任何改动。
3、在接口测试->接口列表中,选择项目,并在项目中新建接口或导入接口

你可以选择,手动新建接口

或批量导入接口,支持快速从Swagger
、Postman
、HAR
文件批量导入接口。
并且在接口列表中,还可以快速复制接口,按需微调即可。
4、接口创建好之后,可以直接在接口列表中,对已创建好的接口进行调试,验证接口的基本连通性。选择要调试的接口,点击调试按钮,即可自动带入接口参数,进行单接口调试。


除了可以,在接口列表中对接口进行调试,我们还实现了类似Postman在线接口调试功能,可以单独进入到接口测试->接口调试菜单,对任意接口进行调试。

并且在接口调试页面,支持引用动态变量,比如$userName_cn
, 还可以将调试的接口保存为示例,方便下次快速调用,也可以将调试的接口直接保存为接口用例。

总之,很多设计小细节,很贴心。
5、接口定义好之后,接下来,可以创建接口测试场景,实际公司在开展接口自动化测试时,往往也都是以业务场景为主(一个业务场景通常会涉及多个接口有序调用)
进入到接口测试-接口测试场景菜单,新建接口测试场景

在接口测试场景中,我们可以编写接口场景基本信息,包括优先级、超时时间、标签、是否需要并发执行等。还可以自定义全局变量,增加环境变量、前置脚本、后置脚本。
6、更为重要的是,还可以在接口测试场景中,自由组合多个测试步骤。只需要通过下拉选择或拖动的方式就能方便的完成。在每个测试步骤中,还可以添加变量提取,且一个测试步骤,支持添加多个变量提取规则。

比如在测试场景步骤中,我想将第1步,用户注册接口返回的用户名,作为第2步的入口,此时只需要在第1个测试步骤中增加变量提取,对username
添加一个变量提取规则即可。

由上图可知,在第2个测试步骤,登录接口,我们通过{{username}}
的方式,引用了在第1步提出的变量名。
7、在接口测试场景中,不仅可以为每个测试步骤添加变量提取,还可以添加断言检查点。

细心的读者,不难发现,在变量提取配置或断言配置窗口中,除了本身的规则配置外,还增加了发送请求 和测试提取 、测试断言几个小功能。
这些小功能也是花了点小心思的,目的就是方便用户在配置变量提取或添加断言时,可以实时验证配置的断言或变量提取规则是否正确。不用等到真正执行接口自动化测试时,才恍然发现因为配置规则的不正确导致的低级报错。
8、接口测试场景配置保存之后,在接口测试场景列表中,可以直接执行测试场景。方便实时验证接口测试场景整体是否能按预期工作。

比如,选择验证查询用户信息
这个场景,点击执行按钮,即可在后台运行该接口测试场景。
执行结束后,点击查看按钮,可以查看到该接口测试场景完整的调用详细,以及各个步骤的详细日其志。

9、在接口测试场景中,除了可以查看各步骤详细的执行日志,还可以点击执行结果按钮,弹出执行结果窗口,支持查看接口测试场景结果数据。

在执行结果窗口中,支持查看断言详细和各步骤执行详情。
10、接口测试场景有了之后,接下来创建测试任务,一个测试任务,支持关联多个接口测试场景。



在测试任务中,除了支持添加管理多个接口场景,还可以对执行策略进行配置。
在任务列表,点击执行按钮,实时显示任务执行进度

任务执行结果后,自动弹出任务执行结果,也可以在测试任务列表中,点击查看结果按钮。

11、测试任务,除了支持手动执行、快速执行外,还支持自动执行(定时执行、周期性执行)

12、添加一个自动执行任务,比如每天8点,执行一次,或每隔半个小时执行一次,让测试任务自动跑起来,走到这里,也就真正实现了接口自动化测试了。


13、测试任务完成之后,还能直接查看执行报告。

4、最后
篇幅有限,关于STP的介绍,今天就分享到这里了。
我个人对STP平台的定位是:可开源、可定制、可商业。
STP平台,将会作为第2025年最新AI+全栈测试开发技能实战指南(第6期)实战演练项目之一。
在今年最新一期全栈测开训练营中,我们将会带着学员学习掌握如何从0到1开发打造一款STP智能测试平台。 并且本期训练营结束后,STP平台的项目全部代码,可授权给第6期表现突出的学员使用,学员可将平台部署到公司内部使用,这也将是你在公司成果提效、加薪的一大助力。(开箱即用)
最新一期训练营马上就要开课了,好了,不多说,有需要学习提升的同学,欢迎联系老师(wx: 762357658)。