Jmeter 作为当前非常受欢迎的接口测试和性能测试的工具,在企业中得到非常广泛的使用,而 Redis 作为缓存数据库,也在企业中得到普遍使用,

Redis服务和客户端安装

windows下安装

默认端口:6379

下载地址:

https://github.com/tporadowski/redis/releases

下载完成后解压

双击redis-server.exe启动服务端

控制台提示如下,说明Redis-Server启用成功




jmeter 使用redis之后用例不执行了_接口自动化


下载安装Windows客户端,双击运行出现如下界面;通过客户端在Redis数据库中添加数据,如下添加了一个List类型的数据,key=testList,值有a,b,c 三种



jmeter 使用redis之后用例不执行了_接口自动化_02


Redis是内存数据库和MySQL这类关系型数据的表结构不同,Redis有如下几种数据结构:

  • String:是redis最基本的类型,可以理解成 Memcached 一模一样的类型,一个key对应一个value。一个Redis中字符串value最多可以是512M。
  • Set:String 类型的无序集合,集合成员是唯一的,集合中不能出现重复的数据。
  • List:字符串列表。 list是可以存储多列有序的字符串,按照插入顺序排序,它可以在列表的头部添加数据,可以从列表的尾部添加数据。也可以从头部进行取数据。甚至可以从尾部进行取数据。
  • Hash:在redis中,哈希类型是指Redis键值对中的值本身又是一个键值对结构,形如value=[{field1,value1},…{fieldN,valueN}]。
  • Sorted Set:Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。



jmeter 使用redis之后用例不执行了_接口测试_03


Jmeter使用Redis

由于 jmeter 本身并没有带有 Redis 的测试入口,我们需要去安装 Redis 插件。

首先,我们下载 jmeter-plugins-manager-1.6.jar 文件,放到 jmeter 的 lib 的 ext 文件夹中,然后重启 Jmeter。



jmeter 使用redis之后用例不执行了_性能测试_04


重启Jmeter以后,可以在配置元件中发现新增组件 jp@gc-Redis Data Set,Jmeter的Redis Data Set目前尚有一些限制,仅支持List和Set类型的数据;如果要处理其他类型的数据,可以通过Beanshell Sampler来编写代码读取Redis数据。

在 Jmeter 的线程组上右键,添加 > 配置元件 > jp@gc-Redis Data Set



jmeter 使用redis之后用例不执行了_性能测试_05


Redis Data Set可以实现读取Redis中的数据,并将数据存储为变量供后续使用,其中关键的配置有:

  • Redis Key:Redis中的key,Redis数据库中列表(有序数据)或集(无序数据)的名称,对应Redis数据库中的Key。
  • Variable Name:由数据集导出到测试元素的变量的名称(设置取出来的value存放在哪个变量中)
  • Delimiter:存储在 Redis 列表或集合中的行中使用的分隔符(取出的 value 有多个值时,变量名之间的分隔符)
  • Data Source Type:数据源类型,有List、Set两种选择,String、hash、zset类型取不到(在JMeter 3 中RANDOM_REMOVE 对应 List,RANDOM_KEEP 对应 Set)
  • Recycle data on use:当数据遍历完时是否重新开始循环。
  • Connection Configuration:Redis 服务器的配置信息,服务器的IP,端口,超时时间,密码和数据库名。
  • Redis Pool Configuration:Redis的连接池配置。

下图读取了本地Redis数据库的testList数据,并且取出数据作为百度搜索的关键词



jmeter 使用redis之后用例不执行了_jmeter_06


点击运行,脚本能从Redis数据库中取出数据,并作为后续Http请求的输入参数



jmeter 使用redis之后用例不执行了_接口测试_07


Jmeter功能非常强大,尤其是对多种中间件的支持。