一、jmeter 添加http请求:
1、从测试计划添加线程组
2、从线程组添加http请求
3、在http请求中写入接口url、路径、请求方式、参数
4、从线程组添加察看结果树调用接口、查看返回值
二、Jmeter添加header请求
1、从线程组-配置元件-添加Http 信息头管理器
2、添加头部信息
三、Jmeter-http接口脚本添加cookie
1、从线程组-配置元件-添加Cookie管理器
2、添加cookie值:
四、Jmeter-三种参数化的方式
1、用户自定义变量:这种就是为了方便管理参数,只能有一个值,比如说ip地址不经常变化的
把需要参数化的信息取一个名称,比如IP ,使用该参数化方式:${ip}
2、使用函数助手对话框:
可以按照规则生成一些参数,点击生成拷贝使用。
最常用的有:
1、随机数__Random,可以在你指定的一个范围内取随机值; 2、取当前时间__time,如果在有一些需要传时间的情况下可以使用,日期格式是: yyyy-MM-dd HH:mm:ss 年-月-日-小时:分钟:秒 3、取唯一id,__UUID,这个就是每次会生成一个随机的uuid,都是唯一的
3、从文件里读取参数
从文件中读取的话,三个步骤
1、读取文件2、取文件内容里面的参数,给它一个名字3、使用值从文件读取的话,需要在线程组里面添加一个CSV Data Set Config,它就是做前面两步的操作的
五、Jmeter断言:
断言是用来验证预期结果是否正确,,这样我们就可以通断言来检查返回结果,测试是否通过。
六、Jmeter关联(之一)
首先下载插件
下载后解压以后将lib和lib/ext中的jar包放到安装目录对应位置,重启即可
在线程组中后置处理器中添加JSON Extractor
variable names : 名称
JSONPath Expression:JSON表达式 Match Numbers:匹配哪个,可为空即默认第一个 Default Value:未取到值的时候默认值从结果中提取需要的参数 执行一遍结果:
请求的返回值为:
{
"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"}}
- 1
这里因为返回的是json数据,$.data.token
,获取token的值
但是有碰到一个坑
另外一个接口请求返回值为:{"statusCode":200,"data":[{"code":"407949","id":"aa477ad2085d492a99b877d14343d68d","name":"90一中4545"}]}
- 1
同样,使用$.data.id
去提取id的值时,发现获取到的数据为空
$.data[0].id
提取第1个值 七、Jmeter操作mysql
2、创建数据库连接配置,mysql的url、端口号、账号、密码
Jmeter配置mysql连接
1、添加一个JDBC Connection Configuration2、配置mysql连接池的名称,后面发sql请求的时候指定连接哪里3、数据库的url:jdbc:mysql://192.168.31.116:3306/jxz?useUnicode=true&characterEncoding=utf8&allowMultiQueries=truecharacterEncoding=utf8(防止乱码 ) allowMultiQueries=true (可以执行所有数据库)
4、数据库驱动:这里就是指定连接什么类型的数据库,mysql、oracle、SqlServer等等5、账号密码
3、写sql,执行sql
1 添加JDBC Request
2 添加数据库名字
3 执行数据库
4、 Jmeter压力测试结果查看