java、python及jmeter操作redis(接口自动化必备)
redis是nosql数据库之一,其存储结构简单,提供高性能服务,所以在架构中是很常用的。
在做接口自动化测试过程中,有时也会涉及到redis,比如:发送短信验证码,我们做接口自动化测试,如何模拟发送短信验证码呢?
一般来说,短信验证码都是存储到redis中的,且有过期时间,我们完全可以直接往redis里面插入一个k-v来模拟发送短信验证码,所以,就得学会java、python及jmeter操作redis了。
java操作redis
创建项目
创建maven项目,添加依赖
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
连接redis
System.out.println("---连接redis---");
Jedis jedis = new Jedis("192.168.168.168",6379);
jedis.auth("test123"); // redis数据库的密码
jedis.select(0); // 哪怕注释这行,也没问题,因为默认就是选择的db0
jedis.flushDB();
string
System.out.println("\n---string---");
jedis.set("name","jack");
String name = jedis.get("name"); // 返回的string
System.out.println("name: " + name);
结果:
---string---
name: jack
list
System.out.println("\n---list---");
jedis.lpush("testlist", "aaa", "bbb", "ccc");
System.out.println(jedis.lrange("testlist",0,-1));
List<String> keys = jedis.lrange("testlist",0,-1); // 返回的list
System.out.println(keys);
结果:
---list---
[ccc, bbb, aaa]
[ccc, bbb, aaa]
set
System.out.println("\n---set---");
jedis.sadd("testset", "a", "b", "c");
System.out.println(jedis.smembers("testset"));
Set<String> keys2 = jedis.smembers("testset"); // 返回的set
System.out.println(keys2);
结果:
---set---
[b, a, c]
[b, a, c]
zset
System.out.println("\n---zset---");
jedis.zadd("testzset",10,"aa");
jedis.zadd("testzset",20,"bb");
jedis.zadd("testzset",30,"cc");
System.out.println(jedis.zrange("testzset", 0, -1));
Set<String> keys3 = jedis.zrange("testzset", 0, -1); // 返回的set
System.out.println(keys3);
结果:
---zset---
[aa, bb, cc]
[aa, bb, cc]
hash
System.out.println("\n---hash---");
jedis.hset("testhash", "name", "lucy");
jedis.hset("testhash", "age", "18");
Set<String> keys4 = jedis.hkeys("testhash"); // 返回的set
System.out.println(keys4);
for (String key:keys4){
System.out.println(key+"="+jedis.hget("testhash",key));
}
结果:
[name, age]
name=lucy
age=18
获取所有key
System.out.println("\n---获取所有key---");
Set<String> keys5 = jedis.keys("*"); // 返回的set
System.out.println(keys5);
结果:
---获取所有key---
[testlist, name, testzset, testhash, testset]
关闭连接
jedis.close();
python操作redis
参考:https://gitee.com/UncleYong/my_rf/blob/master/db_operate/redis_operate.py
jmeter操作redis
下载jar包,下载地址:https://mvnrepository.com/,获取点击左侧加群获取。

放到如下目录,即:D:\apache-jmeter-5.1.1\lib\ext

清空redis中db0

beanshell脚本
import redis.clients.jedis.Jedis;
Jedis jedis = new Jedis("192.168.168.168",6379);
jedis.auth("test123");
jedis.select(0);
jedis.hset("mobile:13888088168","vefication","168168");
jedis.close();
运行上面脚本,然后通过命令查看添加的结果

更多redis命令,参考:https://www.cnblogs.com/UncleYong/p/10950727.html
java、python及jmeter操作redis(接口自动化必备)的更多相关文章
- Jmeter+ant+Jenkins接口自动化框架搭建
摘自:https://testerhome.com/topics/13389 一.背景 上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接 ...
- Python+Pytest+Allure+Git+Jenkins接口自动化框架
Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系. ...
- JAVA中通过Jedis操作Redis连接与插入简单库
一.简述 JAVA中通过Jedis操作Redis连接与插入简单库 二.依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis ...
- Jmeter+Ant+Jenkins接口自动化框架
最近应公司要求,搭建一套接口自动化环境.看到通知邮件,没有多想就确定了Jmeter路线.可能有些人会 说,为啥不用python,相对而言高大上一些.因为公司内部现在项目有用到Jmeter,正好可以结合 ...
- Win10系统Jmeter+maven+Jenkins接口自动化环境搭建(一)
Jmeter+maven+Jenkins实现接口自动化,需要使用idea或eclipse配置maven项目,这里我使用的是idea.具体步骤如下: 1.安装jmeter+jdk jmeter安装之前需 ...
- Python+Unittest+Requests+PyMysql+HTMLReport 接口自动化框架
整体框架使用的是:Python+Unittest+Requests+PyMysql+HTMLReport 多线程并发模式 主要依赖模块 Unittest.Requests.PyMysql.HTMLR ...
- Java中使用Jedis操作Redis(转载)
整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...
- (转)Java中使用Jedis操作Redis
转自http://www.cnblogs.com/liuling/p/2014-4-19-04.html 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://file ...
- Java中使用Jedis操作Redis
使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis ...
随机推荐
- [LeetCode] 321. Create Maximum Number 创建最大数
Given two arrays of length m and n with digits 0-9 representing two numbers. Create the maximum numb ...
- [LeetCode] 138. Copy List with Random Pointer 拷贝带有随机指针的链表
A linked list is given such that each node contains an additional random pointer which could point t ...
- mysql出生日期转成年龄
可以直接用数据库函数进行转换,省去java代码转换的麻烦 SELECT TIMESTAMPDIFF(YEAR, '1988/01/10', CURDATE()) 且此函数容错很好,就算是null,‘ ...
- EFCore代码实践
参考:https://www.cnblogs.com/Wddpct/p/6835574.html 控制台程序依赖注入参考:https://www.cnblogs.com/Wddpct/p/721920 ...
- Github上传项目及更新自己的项目
更新:请前往下载Github Deskdop,Git命令什么的再也不用啦! 一.首次上传项目 1.在GitHub上创建对应仓库 仓库建立如下: README文件不用勾选,否则初次上传文件就要合并. 2 ...
- orientation属性(判断是否为横竖屏)
现在有一个需求:移动端网页默认竖屏显示,当用户横屏浏览,就给予相应提示,比如横屏时显示下面截图提示信息 几年前,可能大家想到用 window.orientation 属性来实现,现官方已弃用,不做推荐 ...
- Vue.js 源码分析(五) 基础篇 方法 methods属性详解
methods中定义了Vue实例的方法,官网是这样介绍的: 例如:: <!DOCTYPE html> <html lang="en"> <head&g ...
- fastclick作用
fastclick 是具有消除移动端浏览器上的点击事件的 300ms 的延迟的作用. 注意几点 1.PC端无效 2.Android 上的 Chrome 32+ 浏览器,如果在 viewport met ...
- 常用mysql系统表及命令
常用系统表查看当前数据库连接ip信息– select * from information_schema.PROCESSLIST 当前mysql实例中所有数据库的信息– select * from i ...
- 深入浅出 REST(转)
文章讲的不错,更具体一些,对实践的指导意义更强 原文:https://www.infoq.cn/article/rest-introduction/ 不知你是否意识到,围绕着什么才是实现异构的应用到应 ...