【测试开发-1】基于Springboot+layui实现接⼝⾃动化平台
测试平台之接⼝⾃动化平台
前⾔
云服务器配置有点低,速度慢,将就看⼀下吧。
接⼝⾃动化,与UI⾃动化相⽐,其维护成本更低,结果校验更精确。⽬前,接⼝⾃动化⽆论是使⽤testng框架者还是使⽤Jmeter,都有⼀定的局限性,前者需要⼀定代码基础,且维护测试数据⽐较⿇烦,后者简单易⽤,但共享性差⼀些。基于此,从前端选型、数据库表设计到实现⽅案设计与开发,我花费三个⽉时间完成了这个接⼝⾃动化测试平台。
1 简介
1.1 技术栈
后端:SpringBoot + Mybatis + mysql + redis
前端:jQuery + layui
关于前端,个⼈推荐没有前端基础的同学,可以从layui上⼿。后期视情况向vue靠拢,毕竟vue是⽬前主流的前端开发框架,在我们遇到问题时,如果使⽤和前端开发相同的框架,可以⾮常⽅便地向他们请教。
jquery框架定义1.2 特点
极致简洁:页⾯简洁,交互⽅便,易于上⼿
数据管理:可视化数据管理,数据的添加与维护⼗分⽅便
分级设计:将数据按项⽬模块、接⼝、⽤例、测试集合划分,保证数据规范性和⼀致性,减少数据冗余
单点调试:⽀持接⼝测试⽤例的在线调⽤,输出响应结果、请求信息等详细信息
流程拼装:将多个已创建的测试⽤例拼接成测试集合,执⾏有⼀定业务逻辑的流程
2 详述
2.1 权限管理设计
经典的树状⾓⾊权限控制:
在⾓⾊控制之外,⼜单独为各个模块,⽐如接⼝⾃动化模块设计了组别权限:
新增数据与编辑数据相⽐,少了是否是本⼈数据的校验。
为组分配(增减)⼈员:
为组分配(增减)项⽬:
权限不⾜效果:
2.1 平台⼊⼝
登录页⾯使⽤Spring主题,清新雅致。不⽀持注册⽤户,只能由管理员添加⽤户。
平台集成了redis,token信息存储在redis中,并可在配置⽂件中⾃定义失效时间和加密规则:
redis:
host: localhost
port:6379
timeout:10s
lettuce:
pool:
min-idle:0
max-idle:8
max-active:8
max-wait:-1ms
password:
token:
expire:
seconds:72000
jwtSecret:(XIAO:)_$^11244^%$_(WEI:)_@@++--(LAO:)_++++_.sds_(SHI:)
2.2 分级设计
前⾯提到,接⼝⾃动化平台数据采⽤分层设计,即将接⼝⾃动化所需的数据分为【项⽬管理】、【接⼝列表】、【⽤例管理】、【测试集合】、【测试结果】五个部分。如下图所⽰:
2.2.1 项⽬管理
项⽬管理,定义了公司系统的基本框架。以新浪新闻为例,我将做如下分割:
平台:新浪新闻
项⽬:体育
模块:西甲
IP地址:略
项⽬模块层,有以下规范和特点:
项⽬管理页⾯决定了每个接⼝的归属,当我们新增接⼝时,必须创建在已有模块下,⽽不能随⼼所欲地添加。因为平台使⽤⼈众多,如果不做此约束,数据将会⼗分混乱。
通常情况下,每个项⽬对应着⾃⼰的IP地址。这个平台中,每个模块对应着⼀个IP地址,还是有⼀些数据冗余,但如果为了消除数据冗余⽽再增加⼀层,就不是三表关联⽽是四表关联了,开发难度倍增,使⽤起来也略显繁琐。
每个模块定义了IP地址后,该模块下的接⼝将直接继承,不需要再单独为接⼝定义IP地址了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论