接口测试(4)-apifox获取redis验证码注册
·
前提条件:
1、apifox直接访问redis获取数据;这需要在apifox添加扩展操作redis的jar包,参考:官网中redis章节,(链接平台暂不可发)。
下载并生成jar包:编写操作redis扩展jar包,可在网上找apifox-redis模块(链接平台不可发)。
下载下来让开发帮忙生成jar包

第一步:用户注册校验-手机号
前置参数–生成随机手机号
//生成随机手机号码
function randomPhoneNum(){
// 手机开头
var Num = '1550000';
for(var i=0; i < 4; i++){
Num += Math.floor(Math.random() * 10);
}
return Num;
}
var str_phone = randomPhoneNum();
//生成手机号,存入环境变量
pm.environment.set('sendphone1', str_phone);
console.log(str_phone)
第二步:发送短信验证码
/api/public/sms/send
第三步:个人注册验证码检验
/api/public/sms/userVerifica
注意每家公司的key前缀不一样
try {
// redis 连接配置
var redisConfig = "{\"host\":\"***.3.16.170\",\"port\":\"60000\",\"password\":\"ideal2018\",\"database\":1}";
// 获取当前登录的手机号
var phone = pm.variables.get("sendphone1");
// 后端服务缓存验证码在redis的key
var key = "NEW_GWY_REGISTER_SMS_CODE_" + phone;
console.log("redis key:", key);
// 执行jar包获取redis缓存数据
var jarResult = pm.execute('apifox-redis-1.0-SNAPSHOT.jar', [redisConfig, "GET", key]);
console.log("redis 缓存数据:", jarResult);
// 反序列化异常处理
//var code = jarResult.substr();
var code = jarResult.substr(jarResult.length-7, 6);
// 自动填充验证码到登录接口的`code`字段
pm.variables.set("code", code);
console.log("验证码:", code);
//生成code,存入环境变量
pm.environment.set('code', code);
} catch (e) {
console.error(e.message);
}
第四步:个人注册
/api/public/user/registerNew
{
"password": "123456",
"type": 1,
"phoneId": "{{sendphone1}}",
"username": "{% mock 'cname' %}",
"verifyCode": "{{code}}",
"idCard": "{% mock 'id' %}",
"needDecrypt": true
}
第四步:

100次循环,100个线程,差点把电脑跑挂了,产生了200多条停止了。

注意:
因密码加密,导致数据库存的密码有误。需要改这四张表的password,org库register、user库user表、imapi库user表、的password进行修改,tigase库 tig_users 表 ,密码同步成新密码
ps:下一章讲解密码加密
更多推荐




所有评论(0)