测试平台系列(78) 编写Redis配置管理功能(上)
2021-11-22 13:23
627 查看
大家好~我是
米洛!
我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持。
欢迎关注我的公众号测试开发坑货,获取最新文章教程!
回顾
上一节我们编写了
测试计划相关功能。由于我们的数据构造器(前置条件)还有一些不完善的,所以我们这段时间要开始完善redis相关内容。
如果把redis看做数据库的话,我们也是需要编写对应的
连接配置页面的,编写完以后我们需要接入
前置条件,也得能够在页面上在线执行redis命令。这些都会是接下来几天的任务。
成果图
设计Redis配置表
redis和mysql比较类似,有一些共通的部分:
host
port
username
password
database
在redis中是一片一片的db,一般是0-15。而Mysql则是一个具体的库。
除此之外,二者区别很小。主要提现在:
redis分为集群和单例模式,集群是可以不输入用户密码的
一般redis的连接串会把host和port合到一起,便于我们进行集群管理
所以总结起来就是,我们基本可以照搬MySQL配置表。
from sqlalchemy import Column, INT, String, Boolean, UniqueConstraint from app.models.basic import PityBase class PityRedis(PityBase): __tablename__ = "pity_redis_info" __table_args__ = ( UniqueConstraint('env', 'name', 'deleted_at'), ) env = Column(INT, nullable=False) # 对应环境id name = Column(String(24), nullable=False) # redis描述名称 addr = Column(String(128), nullable=False) username = Column(String(36), nullable=False) password = Column(String(64), nullable=False) db = Column(INT, nullable=False) # 是否是集群,默认为false,集群可不输入用户密码 cluster = Column(Boolean, default=False, nullable=False) def __init__(self, env, name, addr, username, password, db, cluster, user): super().__init__(user) self.env = env self.name = name self.addr = addr self.password = password self.username = username self.db = db self.cluster = cluster
可以看到,他几乎和MySQL差不多。那我们来按照管理编写
增删改查接口。
编写Dao层
其实按照惯例,我估计又从之前的DbConfigDao.py复制出代码然后改一改了。
但这次我不打算这么做了,因为其实每次写的
增删改查代码虽然不完全一样,但都很像啊!!!
所以如果能有个办法可以省略这些操作,那么一个后端接口就很快能够写出来了~
对于我们这样简易的接口测试平台,是事半功倍的。
其实思路来源于
Mybatis Plus,这个框架的好处就是封装了selectList,selectById等常用api,导致哥们都不需要编写具体的select方法,直接传入
查询条件就可以了。
update更是离谱,传入一个新对象即可。
所以可以看到具体的mapper都是继承BaseMapper,就可以完成对应的操作。
可能大家没有具体的概念,我先给大家展示下半成品:
使用方式
可以看到,需要精确查找就直接传入,需要模糊查询的则加上like。
看起来是非常美好,有兴趣的朋友可以测试一下。
今天的内容到这就结束了,下一节我们
继续完善这个Mapper基类中的方法,并实现一个完整的demo简化开发。
思路虽然是原创,但难免和其他人碰到一起,其实大家做的测试平台思路大体都是一致的,所以如果遇到高度相似的,真的还是纯属巧合。
相关文章推荐
- 【腾讯TMQ】【UTP自动化测试平台系列之三】用例管理
- 测试开发【提测平台】分享12-掌握日期组件&列表状态格式化最终实现提测管理多条件搜索展示功能
- saltstack自动化运维系列12配置管理安装redis-3.2.8
- 软件测试系列--配置管理
- saltstack自动化运维系列12配置管理安装redis-3.2.8
- 【腾讯TMQ】【UTP自动化测试平台系列之二】任务管理设计
- ocs部署实验系列之二——配置音频/视频会议和web会议及客户端基本功能测试
- 一个好的测试管理平台应该有哪些功能?
- Bloomy Controls 公司基于NI平台为电池管理系统设计功能测试平台
- Solarwinds 系列软件功能介绍(第二部分 配置和一致性管理)
- 编写测试平台-HDL模型的功能验证 第一章
- Trove系列(八)——Trove的配置管理相关的功能介绍
- Puppet系列之二:自动化配置管理平台的搭建
- DPM配置管理之安装Windows Server Backup功能(DPM配置管理系列五)
- 开发测试管理平台之功能架构
- SpringBoot系列三:SpringBoot基本概念(统一父 pom 管理、SpringBoot 代码测试、启动注解分析、配置访问路径、使用内置对象、项目打包发布)
- Puppet系列之一:自动化配置管理平台介绍
- Trove系列(八)——Trove的配置管理相关的功能介绍
- python实例编写(6)--引入unittest测试框架,构造测试集批量测试(以微信统一管理平台为例)
- java_Web09-软件密码学基础和配置tomcat的https连接器和tomcat服务器的管理平台