jmeter测试中,测试数据一般和测试用例分离

测试数据一般可以使用csv构造,进行参数化

但也可以使用mysql等数据库构造

方案一:一个线程循环调用mysql数据,不是并发,不适用于性能测试,更适合接口测试

记录一下:

需求:如果sex是0,那么执行操作1

如果 sex是1,那么执行操作2

具体操作根据实际情况确定,这个例子用bash shell sample代替具体的操作

本地mysql数据库中我新建了 个database,取名jmeter,其中创建了user表

1.首先需要配置jmeter 的mysql源

添加JBDC connection Configuration

注意:

variablename for create pool:jetertest(jmetertest这个名字自己定义的,记住下面要使用)

max number of Conection JDBC连接池最大连接数

0:线程之间独立,不共享线程池

n :确保该值大于等于最大线程数

Database url:

jdbc:mysql://127.0.0.1:3306/YourDatabaseName?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true

2.    创建一个    JDBC request

3.在debug sample 可以看到结果sexarray

4. 循环遍历mysql返回的sexarray,使用循环控制器和计数器来实现

(1)循环控制器,设置最大的循环次数,在debug sample可以看到一共有4条数据,也就是sex_#=4

(2)计数器 因为循环数据的格式为sex_1,sex_2,sex_3,sex_4,这里使用计数器来构造下划线后面的1,2,3,4

sex_i

(3)使用函数助手来构造sex_i这种需要的格式sex_i

使用函数助手_v构造参数样式

构造格式sex_${i},点击生成,将截图3上的字符串拷贝到if判断语句

、

5 使用条件控制器if来判断执行的请求

sex=0执行请求0 sex=1执行请求1

添加个bash shell sample 或者实际中需要的http请求等

6 运行结果分析

因为数据库mysql sex分别为0,1,1,1

那么对应的beanshell取样器0,1,1,1

注意这里始终都是一个线程循环执行,不能算真正的并发

方案2:使用mysql数据库构造并发的参数化

这里使用

select sex from user where id =${id}

将${id}中的id进行参数化

select sex from user where id=1; select sex from user where id=2; select sex from user where id =3;select sex from user where id =4;

这样每次就可以循环取到每一个sex中的值,sex_1就是我们每次需要的值

下次在详细写

jmeter接口测试4-使用数据库mysql构造参数的更多相关文章

  1. Jmeter接口测试,往MySQL数据库写数据时,中文显示???

    调Jmeter接口测试,请求字段输入中文,查看数据库插入情况, 发现数据库显示    ???

  2. Jmeter数据库mysql测试说明

    主要分3个步骤,详细操作步骤如下: 一.环境准备 1.下载mysql驱动,下载地址:https://dev.mysql.com/downloads/connector/j/,Select Operat ...

  3. 转 14 jmeter性能测试实战--数据库MySQL

    14 jmeter性能测试实战--数据库MySQL   需求 测试用户表(对用户表select操作) 测试步骤 1.MySQL驱动下载并安装. 2.测试计划面板点击"浏览"按钮,将 ...

  4. mysql优化———第二篇:数据库优化调整参数

    摘要 参数调优内容: 1. 内存利用方面 2. 日志控制方面 3.文件IO分配,空间占用方面 4. 其它相关参数 一  摘要 通过参数提高MYSQL的性能.核心思想如下:         1 提高my ...

  5. 第三篇--Jmeter测试数据库Mysql

    Jmeter模拟100用户访问Mysql数据库 1.将Mysql数据库的驱动[mysql-connector-java-5.1.15-bin.jar]放到jmeter的lib目录下,新建线程组100[ ...

  6. 【JMeter】JMeter进行简单的数据库(mysql)压力测试

    JMeter进行简单的数据库(mysql)压力测试 1.点击测试计划,再点击“浏览”,把JDBC驱动添加进来: 注:JDBC驱动一般的位置在java的安装地址下,路径类似于:    \java\jre ...

  7. MySql——查看数据库性能基本参数

    使用show status可以查看数据库性能的参数,基本语法:show status like 'value'; 例如: show status like 'Connections';/*连接mysq ...

  8. 看MySQL的参数调优及数据库锁实践有这一篇足够了

    史上最强MySQL参数调优及数据库锁实践 1. 应用优化 1.2 减少对MySQL的访问 1.2.1 避免对数据进行重复检索 1.2.2 增加cache层 1.3 负载均衡 1.3.1 利用MySQL ...

  9. shell编程系列23--shell操作数据库实战之mysql命令参数详解

    shell编程系列23--shell操作数据库实战之mysql命令参数详解 mysql命令参数详解 -u 用户名 -p 用户密码 -h 服务器ip地址 -D 连接的数据库 -N 不输出列信息 -B 使 ...

随机推荐

  1. 4.Factory Pattern(工厂模式)

    工厂模式(Factory Pattern)定义: 定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个.工厂方法让类把实例化推迟到子类. 针对实现编程,但是当我们每次使用new时候,不正是在针对 ...

  2. 01-MySql的前戏

    [转]01-MySql的前戏 MySql的前戏 在学习Mysql之前,我们先来想一下一开始做的登录注册案例,当时我们把用户的信息保存到一个文件中: #用户名 |密码root|123321 alex|1 ...

  3. Stylus基本使用

    介绍 在学习一个 Vue.js 项目的过程中,注意到源码中样式的部分并没有用熟悉的 .css 样式文件,而是发现了代码长得和 CSS 相像的 .styl 文件.这个 .styl 以前没见过啊,你是谁? ...

  4. 【代码笔记】iOS-performSelectorOnMainThread

    代码: RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewControl ...

  5. 图像阈值化-threshold、adaptivethreshold

    在图像处理中阈值化操作,从一副图像中利用阈值分割出我们需要的物体部分(当然这里的物体可以是一部分或者整体).这样的图像分割方法是基于图像中物体与背景之间的灰度差异,而且此分割属于像素级的分割.open ...

  6. Java语言的特点以及Java与C/C++的异同

    Java语言的特点 1. Java为纯面向对象的语言,能够直接反应现实生活中的对象,容易理解,编程更容易. 2.跨平台,java是解释性语言,编译器会把java代码变成中间代码,然后在JVM上解释执行 ...

  7. 【three.js练习程序】鼠标滚轮缩放

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. su、sudo、su - root的区别

    su和sudo的区别 共同点:都是root用户权限: 不同点:su只获得root权限,工作环境不变,还是在切换之前用户的工作环境:sudo是完全获得root的权限和root的工作环境. sudo:表示 ...

  9. 从ibd文件获取表空间id

    xtrabackup恢复过程中出现如下错误 InnoDB: Doing recovery: scanned up to log sequence number ( %) InnoDB: Doing r ...

  10. SQL Server复制入门(二)----复制的几种模式 (转载)

    简介本系列文章的上一篇对复制是什么做了一个概述.本篇文章根据发布服务器,分发服务器和订阅服务器的组织方式和复制类型来讲述常用复制的几种模式. 模式的选择选择复制的模式取决于多个方面.首先需要考虑具体的 ...