jmeter介绍
jmeter是一款使用Java开发的,开源免费的测试工具。jmeter可以做接口测试和压力测试。其中接口测试的简单操作包括做http脚本(发get/post请求、加cookie、加header、加权限认证、上传文件)、做webservice脚本、参数化、断言、关联(正则表达式提取器和json提取器)和jmeter操作数据库等等。
主要元件
- 测试计划(test plan)
- 线程用户(Threads (Users))
- 取样器(Sampler)
- 逻辑控制器(Logic Controller)
- 前置处理器(Per Processors)
- 后置处理器(Post Processors)
- 断言(Assertions)
- 定时器(Timer)
- 配置元件(Config Element)
- 监听器(Listener)
测试计划
使用Jmeter进行测试的起点,它是其它Jmeter测试元件的容器;进入jmeter后,页面默认包含测试计划元件,在测试计划元件下进行相关操作。
线程用户
线程组元件是任何一个测试计划的开始点。在一个测试计划中的所有元件都必须在某个线程下。所有的任务都是基于线程组。
1、setup线程组:在普通线程组执行前自动触发执行。可以用于测试准备,比如用它来创建测试用户、登录获取token等。
2、teardown线程组:在普通线程组结束后执行。可以用于测试清理工作,比如删除测试时添加的用户等。
3、线程组:普通线程组,通俗的讲一个线程组,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。多个用户同时去执行相同的一批次任务。每个线程之间都是隔离的,互不影响的。一个线程的执行过程中,操作的变量,不会影响其他线程的变量值。
取样器
是向服务器发送请求,记录响应信息、响应时间的最小单元,每一种不同类型的sampler 可以根据设置的参数向服务器发出不同类型的请求。最常用的取样器为http请求
逻辑控制器
可以自定义Jmeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。
前置处理器
负责在请求之前工作,常用来修改请求的设置。
后置处理器
负责在请求之后工作,常用获取返回的值。
断言
用来判断请求响应的结果是否如用户所期望的。最常用的为响应断言。
定时器
负责定义请求之间的延迟间隔。
配置元件
维护取样器(Sampler)需要的配置信息,并根据实际的需要修改请求的内容。
常用配置元件
- CSV数据文件设置
- HTTP信息头管理器
- HTTP Cookie管理器
- HTTP请求默认值
- 用户定义的变量
监听器
负责收集测试结果,同时确定结果显示的方式。
常用监听器为查看结果树。