javca中redis获取value_接口测试:如何从redis中获取短信验证码
问题:重置密码接口、注册接口的入参需要用到短信验证码接口发出的短信,短信验证码存到了Redis里。如何从Redis中取出?
解决办法:(首先鸣谢开发小伙伴薛同学!)
薛同学给了Redis的IP地址、端口、密码和Key
方式1 通过Redis桌面连接工具:redis-desktop-manager-0.9.3.817.exe连接获取
如果只是通过postman、Jmeter一类工具做单接口测试,可以通过桌面连接工具手动查看,如下图。
1.1 建立连接:
1.2 找到对应的项目下的register和resetpassword文件夹,查看底下的KEY
方式2 通过代码读取
如果是在开发自动化脚本,则可以通过代码方式读取,代码如下
package com.qa.api.utils;
import java.util.Set;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* @author xr
*
* Jedis连接池
*/
public class JedisPoolUtils {
// Redis服务器IP
private static String ADDR = "实际IP";
// Redis的端口号
private static int PORT = 实际端口号;
// 密码
private static String AUTH = "实际密码";
// 可用连接实例的最大数目,默认值为8;
// 如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
private static int MAX_ACTIVE = 1024;
// 控制一个pool最多有多少个状态为idle(空闲的)的jedis实例,默认值也是8。
private static int MAX_IDLE = 200;
// 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException;
private static int MAX_WAIT = 10000;
// 连接超时的时间
private static int TIMEOUT = 10000;
// 在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
private static boolean TEST_ON_BORROW = true;
// return 一个jedis实例给pool时,是否检查连接可用性(ping())
private static boolean TEST_ON_RETURN = true;
private static JedisPool jedisPool = null;
/**
* 初始化Redis连接池
*/
static {
try {
if (jedisPool == null) {
// 同步锁
synchronized (JedisPoolUtils.class) {
if (jedisPool == null) {
// jedis连接池的配置
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(MAX_ACTIVE);
poolConfig.setMaxIdle(MAX_IDLE);
poolConfig.setMaxWaitMillis(MAX_WAIT);
poolConfig.setTestOnBorrow(TEST_ON_BORROW);
poolConfig.setTestOnReturn(TEST_ON_RETURN);
poolConfig.setBlockWhenExhausted(false);
jedisPool = new JedisPool(poolConfig, ADDR, PORT, TIMEOUT, AUTH);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取Jedis实例
*
* @return
*/
public synchronized static Jedis getJedis() {
try {
if (jedisPool != null) {
Jedis resource = jedisPool.getResource();
return resource;
} else {
return null;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 释放jedis资源
*
* @param jedis
*/
public static void releaseResource(final Jedis jedis) {
if (jedis != null) {
jedis.close();
}
}
/**
* 根据手机号获取注册短信验证码
* @param mobile
* @return
*/
public static String getRegiSms(String mobile, Jedis jedis) {
String regiSms = jedis.get("finance:smsverfiy:register:"+mobile); //Key值换成你自己的
System.out.println("regiSms ="+regiSms);
return regiSms;
}
/**
* 根据手机号获取重置密码短信验证码
* @param mobile
* @return
*/
public static String getResetPwSms(String mobile, Jedis jedis) {
String resetPwSms = jedis.get("finance:smsverfiy:resetpassword:"+mobile); //Key值换成你自己的
System.out.println("resetPwSms =" + resetPwSms);
return resetPwSms;
}
public static void main(String[] args) {
System.out.println("ADDR =" +ADDR);
Jedis jedis = null;
try {
// 获取Jedis实例
jedis = JedisPoolUtils.getJedis();
String regesterSms = getRegiSms("188****9680", jedis); //手机号换成你自己的
String resetPwSms = getResetPwSms("186****4032", jedis); //手机号换成你自己的
} catch (Exception e) {
e.printStackTrace();
} finally {
// 释放Jedis连接资源
JedisPoolUtils.releaseResource(jedis);
}
}
}
测试脚本中怎么用?
调用即可,参考main方法
javca中redis获取value_接口测试:如何从redis中获取短信验证码相关推荐
- 手把手带你在集成SpringSecurity的SpringBoot应用中添加短信验证码登录认证功能
本文目录 前言 1 自定义AuthenticationToken类 2 自定义AuthenticationProvider类 3 自定义MobilePhoneAuthenticationFilter ...
- Redis 基础 - 短信验证码登录
本文摘要 先简单列出用session方式.然后提出session方式的问题,并简单换为用Redis的方式.最后通过优化来解决一些小问题. Redis基础 - 基本类型及常用命令 Redis基础 - J ...
- 手机获取短信验证码——自定义UI界面
在上一篇博客中,简单实现了获取短信验证码的功能,那么在本文中,主要介绍短信SDK内置(无UI界面)的方法,对外的类主要有:SMSSDK和EventHandler 先看一波xml <?xml ve ...
- 手把手教你写一个获取短信验证码业务(基于Spring Boot+Redis+阿里云短信服务)
文章目录 一.阿里云短信环境搭建 1.开启使用子用户,创建用户组和用户 2.开通阿里云短信服务 二.环境测试 1.新建Spring Boot(web)项目,导入依赖 2.在测试类中进行测试 三.真实业 ...
- 容联云通讯php短信接口,开发中使用 【容联 云通信】获取短信验证码的 Javascript 接口...
开发中使用 [容联 云通信]获取短信验证码的 Javascript 接口 在平台应用列表添加应用. 在测试号码中绑定测试手机号码,只有这个号码能接收验证短信. 在项目中绑定配置:将控制台首页的开发者主 ...
- vue中获取短信验证码IOS手机问题
vue使用中发现了一个问题,由于ios手机获取短信验证码后,验证码会直接显示在键盘上,点击键盘上的验证码即可给对应的input赋值,但是在项目开发中发现输入框的取值为空 经过排查是因为通过v-mode ...
- vue中获取短信验证码功能IOS手机问题
vue使用中发现了一个问题,由于ios手机获取短信验证码后,验证码会直接显示在键盘上,点击键盘上的验证码即可给对应的input赋值,但是在项目开发中发现输入框的取值为空 经过排查是因为通过v-mode ...
- 抓取html表单验证码,如何在jquery中利用表单获取短信验证码
如何在jquery中利用表单获取短信验证码 发布时间:2021-02-18 15:42:54 来源:亿速云 阅读:88 作者:Leah 这期内容当中小编将会给大家带来有关如何在jquery中利用表单获 ...
- Redis存放短信验证码 RedisTemplate =>opsForValue
@Autowired private RedisTemplate redisTemplate; redisTemplate.opsForValue() redisTemplate.opsForHash ...
最新文章
- scala中类的继承关系
- QML TableView表格使用示例
- WMI使用技巧集 C#
- 田渊栋:业余做研究的经验
- 51单片机之特殊功能寄存器SFR
- Memcached 简单应用
- Android数据储存之SharedPreferences总结
- airpods pro是按压还是触摸_AirPods Pro体验:真好用,但我还是想退货啊
- JavaScript高级程序设计读书笔记(第8章BOM之location对象查询字符串参数)
- ASP.net揭秘笔记
- iOS媒体视频播放器应用源码
- oracle 终止imp,终止imp/exp和expdp/impdp进程运行的方法
- 不同浏览器的使用体会
- uniapp重新渲染页面_uni-app里面使用uni.request请求并且渲染列表
- [Git]如何撤销上次commit
- Win10怎么优化网络?网络优化设置
- WinCC与Mysql原来可以这样玩
- GameFramework框架详解之 DataNode数据节点模块
- 计算机常用英语词汇及读音,表示显示的英文单词与标准读音
- Java线程泄露的分析与处理