JMeter工具的使用(1)
简介
-
JMeter是Apache组织开发的基于Java的开源软件,用于对系统做功能测试和性能测试。
-
它最初被设计用于Web应用测试,但后来扩展到其他测试领域,例如静态文件、Java 程序、shell 脚本、数据库、FTP、 Mail等。
文件结构

1、bin:二进制目录,存放可执行文件和配置文件
- jmeter.bat:windows的启动文件
- jmeter.log:Jmete工具运行的日志文件
- jmeter.properties:Jmeter工具的配置文件
- jmeter.sh:Linux的启动文件
- jmeter-server:linux分布式测试的启动程序
- jmeter0server.bat:windows分布式测试的启动程序
2、docs:内部API文档,用于开发扩展组件
3、lib:存放Jmeter依赖的jar包和用户扩展所依赖的jar包,加载和调用的功能
4、printable_docs:可打印文档,用户的使用说明
Jmeter的元件和组件
元件:多个类似功能组件的容器(类似于类)
- 取样器:发送请求
- 逻辑控制器:控制语句的执行顺序
- 前置处理器:对请求参数进行预处理
- 后置处理器:对响应结果进行提取
- 断言:检查接口的返回结果是否与预期结果一致
- 定时器:设置等待
- 测试片段:封装一段代码,供其他脚本调用
- 配置元件:测试数据的初始化配置
- 监听器:查看Jmeter脚本的运行结果
组件:实现独立的某个功能(类似于方法)
元件的作用域:是靠测试计划的树形结构中元件的父子关系来确定的
所有的组件都是以取样器为核心来运行的,组件添加的位置不同,生效的取样器也不同
作用域的原则:
-
取样器:核心,不和其他元件相互作用,没有作用域
-
逻辑控制器:只对其子节点中的取样器和逻辑控制器起作用
-
其他元件:
-
如果是某个取样器的子节点,则该元件只对其父节点起作用
-
如果其父节点不是取样器,则其作用域是该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点等)
-
元件的执行顺序
同一作用域下的不同类型元件
-
定时器永远在取样器前面
-
配置元件-->前置处理器-->定时器-->取样器-->后置处理器-->断言-->监听器
同一作用域下的相同类型元件
-
按照排列顺序一次执行
案例一
使用Jmeter访问百度首页接口,并查看请求和响应信息

JMeter使用示例
线程组
作用:线程组就是控制JMeter用于执行测试的一组用户
位置:右击”测试计划“ ----> 添加 ----> 线程(用户) ---> 线程组
特点:
-
模拟用户、支持多用户操作
-
多个线程可以串行执行,也可以并行执行
案例


使用Jmeter访问百度: 模拟2个用户运行30s

HTTP请求
作用:向服务器发送http或https请求
位置:选中线程组 ---> 右击 -----> 添加 ----> 取样器 ----> HTTP请求
案例:GET请求,URL为http://www.baidu.com/S?wd=test要求:使用HTTP请求 - 路径来传递get请求参数

POST请求,URL为http://www.baidu.com/S,请求体为:wd=test(form表单)要求:使用HTTP请求 – 消息体数据来传递POST请求的form格式参数
直接在消息体中编写 wd=test 即可

JMeter参数化
定义:把测试数据组织起来,用不同的测试数据调用相同的测试方法。
本质:使用参数的方式来替代脚本中固定的测试数据
实现方式:
-
文件定义的方式(所有测试数据都是固定的情况下)
-
数据库的方式(灵活,业务测试的用例)
-
定义变量(最基础)
-
函数生成(例:random)
用户定义的变量
作用:定义全局变量
位置:测试计划 --> 线程组--> 配置元件 --> 用户定义的变量
请求:https://www.baidu.com:443 要求:使用用户定义的变量配置被测系统的协议、域名和端口

用户参数
作用:针对同一组参数,当不同的用户来访问时,可以获取到不同的值
位置:测试计划 --> 线程组--> 前置处理器 --> 用户参数
请求: https://www.baidu.com 要求:第一个用户请求附带参数:name=“张三”&age=28;第二个用户请求附带参数:name="李四 "&age=30

CSV数据文件设置
作用:让不同用户在多次循环时,可以取到不同的值(参数可能不同)
位置:测试计划 --> 线程组--> 配置元件 --> CSV 数据文件设置
要求: 循环请求3次,每次请求时附带参数username,password,code的值不相同

函数(_counter)
作用:计数函数,一般做执行次数统计使用
位置:在菜单中选择--> 工具--> 函数助手对话框
请求: 访问百度首页 http://www.baidu.com/S?num=1
要求:每个用户每次循环执行该脚本都可以使用不同的值
实现了自动计数,num从1到10

更多推荐

所有评论(0)