如何读取 redis 的手机号验证码数据,实现自动化登录测试
1、案例描述
用户选择短信登录 !
发送短信后,后端接口逻辑已把验证码缓存在 redis, !
在
apifox
上定义对应下发登录短信接口
,短信登录接口
下载地址:www.apifox.cn
这时候问题就来了,怎么样才能让
apifox
自动获取下发登录短信接口
对应的手机号的验证码,自动填充到短信登录接口
的code
字段?
2、解决思路
方案一:后端通过接口返回验证码,下发短信接口后再调用该接口去获取验证码(正式环境需要屏蔽该接口,没办法自动化正式环境接口)
方案二:
apifox
直接访问 redis 获取数据;这需要在apifox
添加扩展操作 redis 的 jar 包,参考:https://www.apifox.cn/help/app/scripts/api-references/external-programs/ (该方案比较可行)
3、开始动手
编写操作 redis 扩展 jar 包(可参考https://github.com/Atoms-Cat/apifox-code的apifox-redis模块)
创建自动化测试用例,我是从
接口管理
的接口用例
直接导入(这个工具真香,重用性强👍)
把
phone
、code
请求参数给为临时变量{{phone}}
、{{code}}
新建
短信登录用例
前置自定义脚本,这里的apifox-redis-1.0-SNAPSHOT.jar
,就是第一步生成好的 jar;脚本编写可以参考:https://www.apifox.cn/help/app/scripts/pre-request-script/#使用示例
复制代码
新增
测试数据
,这里新增手机号对应临时变量{{phone}}
注意
: 需要打开测试数据
开关,后点击运行
查看结果 !
4、总结
复制代码
参考 demo 源码
复制代码
下载地址:www.apifox.cn
评论