一、jmeter 添加http请求:

1、从测试计划添加线程组

2、从线程组添加http请求

3、在http请求中写入接口url、路径、请求方式、参数

4、从线程组添加察看结果树调用接口、查看返回值

jmeter java请求参数bug jmeter添加请求参数_jmeter java请求参数bug

 二、Jmeter添加header请求

1、从线程组-配置元件-添加Http 信息头管理器

 

jmeter java请求参数bug jmeter添加请求参数_jmeter java请求参数bug_02

2、添加头部信息

 

jmeter java请求参数bug jmeter添加请求参数_mysql_03

三、Jmeter-http接口脚本添加cookie

1、从线程组-配置元件-添加Cookie管理器

jmeter java请求参数bug jmeter添加请求参数_mysql_04

2、添加cookie值:

jmeter java请求参数bug jmeter添加请求参数_mysql_05

四、Jmeter-三种参数化的方式

1、用户自定义变量:这种就是为了方便管理参数,只能有一个值,比如说ip地址不经常变化的

jmeter java请求参数bug jmeter添加请求参数_数据库_06

把需要参数化的信息取一个名称,比如IP ,使用该参数化方式:${ip}

jmeter java请求参数bug jmeter添加请求参数_jmeter java请求参数bug_07

2、使用函数助手对话框:

       可以按照规则生成一些参数,点击生成拷贝使用。

最常用的有:
      1、随机数__Random,可以在你指定的一个范围内取随机值;
      2、取当前时间__time,如果在有一些需要传时间的情况下可以使用,日期格式是:
       yyyy-MM-dd HH:mm:ss 年-月-日-小时:分钟:秒
      3、取唯一id,__UUID,这个就是每次会生成一个随机的uuid,都是唯一的

 

jmeter java请求参数bug jmeter添加请求参数_线程组_08

 

3、从文件里读取参数

从文件中读取的话,三个步骤
1、读取文件
2、取文件内容里面的参数,给它一个名字
3、使用值
从文件读取的话,需要在线程组里面添加一个CSV Data Set Config,它就是做前面两步的操作的

 

jmeter java请求参数bug jmeter添加请求参数_mysql_09

 

 

jmeter java请求参数bug jmeter添加请求参数_数据库_10

 

 

 

五、Jmeter断言:

断言是用来验证预期结果是否正确,,这样我们就可以通断言来检查返回结果,测试是否通过。

jmeter java请求参数bug jmeter添加请求参数_jmeter java请求参数bug_11

 

jmeter java请求参数bug jmeter添加请求参数_jmeter java请求参数bug_12

 

 六、Jmeter关联(之一)

首先下载插件 https://jmeter-plugins.org/wiki/JSONPathExtractor/

下载后解压以后将lib和lib/ext中的jar包放到安装目录对应位置,重启即可

 在线程组中后置处理器中添加JSON Extractor

 

 

jmeter java请求参数bug jmeter添加请求参数_数据库_13

variable names : 名称
JSONPath Expression:JSON表达式
Match Numbers:匹配哪个,可为空即默认第一个
Default Value:未取到值的时候默认值

jmeter java请求参数bug jmeter添加请求参数_数据库_14

 从结果中提取需要的参数 执行一遍结果:

jmeter java请求参数bug jmeter添加请求参数_mysql_15

请求的返回值为:

{
        "error_code": 0,
        "login_info": {
                "login_time": "20180522230335",
                "sign": "a5565aa7d609ee8552fa7e1cd8c88394",
                "userId": 11
        }
}

 需要取sign和userid 二个值作为参数,分析出sign 的路径是:{login_info {sign}}

json数据就是:$longin_info.sign

 查询资料中有人遇见的坑 顺便记录一下:

某一请求的返回值为:

{"statusCode":200,"data":{"userId":"4a2cbe616eb74f0d99190af072c8dea6","token":"37e7a9e198186f5a443e50e6138a5bd20bd"}}

这里因为返回的是json数据,$.data.token,获取token的值

但是有碰到一个坑
另外一个接口请求返回值为:

{"statusCode":200,"data":[{"code":"407949","id":"aa477ad2085d492a99b877d14343d68d","name":"90一中4545"}]}

同样,使用$.data.id去提取id的值时,发现获取到的数据为空
原来这个responses 的data为数组,故应为 $.data[0].id 提取第1个值

七、Jmeter操作mysql

1、导入jdbc的jar包,因为jmeter本身不能直接连接mysql,所以需要导入第三方的jar包,来连接mysql

Jmeter导入jdbcjar包

 

jmeter java请求参数bug jmeter添加请求参数_线程组_16

2、创建数据库连接配置,mysql的url、端口号、账号、密码

Jmeter配置mysql连接

1、添加一个JDBC Connection Configuration
2、配置mysql连接池的名称,后面发sql请求的时候指定连接哪里
3、数据库的url:jdbc:mysql://192.168.31.116:3306/jxz?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true

characterEncoding=utf8(防止乱码 )   allowMultiQueries=true (可以执行所有数据库)
4、数据库驱动:这里就是指定连接什么类型的数据库,mysql、oracle、SqlServer等等

5、账号密码

jmeter java请求参数bug jmeter添加请求参数_线程组_17

 

jmeter java请求参数bug jmeter添加请求参数_mysql_18

 

3、写sql,执行sql

1 添加JDBC Request

2 添加数据库名字

3 执行数据库

jmeter java请求参数bug jmeter添加请求参数_线程组_19

 

4、 Jmeter压力测试结果查看 

jmeter java请求参数bug jmeter添加请求参数_jmeter java请求参数bug_20