jmeter使用教程
使用JMeter操作
目录
一 接口测试练习网站... 2
二 JMeter脚本五大主要步骤... 2
三 更改JMeter为中文显示... 3
四 接口方式为get. 3
1 打开JMeter 3
2 添加一个线程组... 3
3打开后如图... 3
4添加http请求... 4
5打开后如图 设置http请求... 4
6添加结果树(查看执行的结果)... 5
7查看结果树... 5
8在请求中传参... 6
9参数填写完成后,运行查看传递的参数... 6
五 接口方式为post 7
1 添加http请求注意请求方法和路径, 请求方法填写为post 路径也要和post一致... 7
2 填写post请求参数... 7
3 添加HTTP信息头部管理器... 7
4 添加结果树查看结果... 8
六 使用JMeter做一个简单接口压力测试... 8
1 添加一个新的线程组... 8
2 添加一个Http请求... 9
3 添加结果树和聚合报告等... 9
4 在线程组中设置线程数和时间参数... 9
5 添加聚合报告查看结果... 10
6 线程组中添加 CVS文件(适用于接口参数众多)... 10
7 用户定义的变量使用... 11
七 JMeter 开展接口数据驱动测试... 11
1 什么是数据驱动... 11
3 实例:JMeter用例数据分离... 12
4 接口用例设计... 12
5 JMeter设置添加线程组... 12
6 创建一个http请求默认值... 12
7 添加一个循环控制器... 13
8 在循环控制器下创建CSV文件设置,具体配置内容如下... 13
9在循环控制器中创建:如果(If)控制器... 14
10分别添加GET和POST请求... 14
11 在get请求和post请求中创建GET和POST请求类型的用例... 15
12 添加结果树,查看结果... 16
13 增加结果的清晰度,参数结果... 16
14 查看结果... 17
15 添加断言... 17
16 添加断言结果... 18
17 添加post请求... 18
一 接口测试练习网站
1 聚合数剧
2 接口网站 http://httpbin.org/get(get请求方式)
http://httpbin.org/post(post请求方式)
二 JMeter脚本五大主要步骤
1 添加线程组
2 添加http请求
3 在http请求中填写URL、路径、请求方式和参数
4 添加查看结果树
5 调用接口,查看返回值
三 更改JMeter为中文显示
1 依次点击【options】----【choose Language】------倒数第二个为简体中文
四 接口方式为get
1 打开JMeter
2 添加一个线程组
点击【添加】---【线程】----【线程组】
3打开后如图
线程数:虚拟用户的数量,例如:线程数为20
时间:设置的虚拟用户数需要多长时间启动。例如:线程数为20,时间设置为10,即每两秒钟就要启动两个线程
循环:每个线程发送请求的次数
4添加http请求
5打开后如图 设置http请求
1 名称可以更改,方便区分
2 协议http
3 服务器名称:httpbin.org
4 方法:get
5 路径get (个人理解:单纯的网址不知道路径时,填写请求方式)
6添加结果树(查看执行的结果)
7查看结果树
绿色标志代表请求成功,红色代表失败
8在请求中传参
在日常接口中分为必填参数和非必填参数,在添加http请求时,必填参数必须填写,非必填参数可以根据要求填写
例如 备注:在中文时容易乱码
9参数填写完成后,运行查看传递的参数
1 查看传递的参数是否和要求一致
五 接口方式为post
1 添加http请求注意请求方法和路径, 请求方法填写为post 路径也要和post一致
2 填写post请求参数
1 使用request body(消息体数剧)向post请求中传入参数
2 在我们DATA编辑框输入数剧(字典形式)
{“user”:”wang”} 必须是英文
3 添加HTTP信息头部管理器
设置参数类型
【添加】----【配置元件】----【HTTP信息头部管理】
4 添加结果树查看结果
六 使用JMeter做一个简单接口压力测试![](https://common.cnblogs.com/images/loading.gif)
1 添加一个新的线程组
操作步骤如下点击【测试计划】-----【添加】------【线程】------【线程组】
2 添加一个Http请求
操作步骤如下点击【线程组】----【添加】---【取样器】----【Http请求】
3 添加结果树和聚合报告等
操作步骤如下点击【线程组】---【添加】---【监听器】----【结果树】
4 在线程组中设置线程数和时间参数
可以在线程组中的设置 线程数的数量、线程数的时间、循环次数
5 添加聚合报告查看结果
6 线程组中添加 CVS文件(适用于接口参数众多)
操作步骤如下点击 【线程组】-----【添加】----【配置元件】--【CSV数剧文件设置】
在CVS中可以实现接口参数化
例如:模拟每一组用户登录的数剧时,可以使用CVS,将每一组用户名和密码填写在一个txt文件夹中,数剧之间用逗号隔开,保存文件后,将文件后缀名改为CVS 如下图
username, password
username2, password2
username3 , password3
文件名:文件中填好必备得一些参数后,将文件夹后缀名改为CVS即刻,其中文件编码选择不填,不然会乱码
文件名:把CSV文件路径复制进入
文件编码:不填
变量名称:自己设置,调用使用(在http请求中使用,方法为 ${变量名称})
忽略首行:选择False
分隔符:默认
是否允许带引号:True
遇到文件结束符再次循环;False
遇到文件结束符停止线程:Fales
线程共享模式:当前线程组
使用CVS场景为:在使用过程中可以调用多个参数,就比如登录时,同时填写不同的账号以及对应的密码登录验证接口。
7 用户定义的变量使用
使用场景:可以将众多参数写在里面,包含必填和非必填参数,使用时便可调用
设置一个用户定义的变量名,
操作流程如下:点击【线程组】---【配置元件】--【用户定义的变量】
例如:添加一个变量
名称:随意编写,调用使用
值:参数
填写参数完成后便可调用,调用方法如下:可以在http请求中调用方式为${定义的参数名称}
七 JMeter 开展接口数据驱动测试
1 什么是数据驱动
相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为实现了完全的分离,这样的测试脚本设计模式称为数据驱动
3 实例:JMeter用例数据分离
我们的用例都是配置在http请求中,每次需求增加,修改用例都需要打开jmeter重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦
我们可将用例的数据和脚本分离,把用例的数据放在CSV文件中,通过CSV文件配置来读取用例中的数据,执行测试
4 接口用例设计
序号、协议、类型、版本号、请求方法、接口参数、路径、断言
5 JMeter设置添加线程组
6 创建一个http请求默认值
点击【添加】----【配置元件】------【HTTP请求默认值】
把共有的请求数据填写在里面
例如协议、服务器名称
7 添加一个循环控制器
循环控制器作用:可以控制整个用例循环执行次数
添加步骤 【线程组】---【逻辑控制器】----【循环控制器】
循环次数和用例次数一致
8 在循环控制器下创建CSV文件设置,具体配置内容如下
1备注:CSV 文件是以逗号做间隔思维
2 备注:在循环控制器中添加
9在循环控制器中创建:如果(If)控制器
操作步骤:点击循环控制器--【添加】---【逻辑控制器】--【如果(If)控制器】
作用:分别判断所属的请求方式 post和get,将数据进入各自对应的分支
10分别添加GET和POST请求
在条件中添加参数的代表名称
格式为:”${参数名称}”==”get”
11 在get请求和post请求中创建GET和POST请求类型的用例
GET请求类型用例(POST相同)
点击【get请求】---【添加】---【取样器】---【http请求】
此处不用在填写协议和服务器名称
路径填写格式:${路径}?${参数} 如果参数有代表名称,填下下面
例如:https://space.bilibili.com/408384097/video?keyword=jmeter
为网址
路径
参数
POST请求是安全
所以路径只填写路径, 将参数填写在消息体数据中
12 添加结果树,查看结果
13 增加结果的清晰度,参数结果
${casesep}_${apitype}_${spiseq}_${apiname}_${methods}
将get请求的名称改为如图
同时也可以在路径后面增加参数
14 查看结果
由步骤13修改名称后便可以直观的看到数据
15 添加断言
由步骤13可以看到明确看到参数结果,在步骤13中添加对应的参数,可以在查看结果树种
例如
参数中有项是预期结果的值,可以将此项作为断言的判断
添加断言
将断言值的名称填写在里面 ${参数名称}
16 添加断言结果
可以看到结果与预期结果不一致,断言结果将值已经标注,实际值为wang 预期为zhong
17 添加post请求
Post请求方法与get请求方法不同,所以填写参数方式也不同
将参数填写在消息体数据中即刻,其余与get操作一样
八 JMeter基础性能测试