一、Jmeter简介
Jmeter是Apache组织开发的开源软件,由Java语言实现。
主要用于对软件系统性能测试,它最初被设计用于Web应用测试,后来被扩展到其他领域。
多线程框架-支持请求并发操作
用于对服务器模拟巨大的负载
支持Web、数据库、FTP服务器等各类系统性能测试
开源、纯JAVA语言编写,可以进行二次开发
二、Jmeter组件介绍
准备(逻辑控制器、前置处理器、定时器、配置元件)> 请求(取样器)> 验证(后置处理器、断言、监听器)
作用域:
如图所示:配置元件优先请求,若配置元件在测试计划下,则作用于所有请求,若是在某个请求下,则只作用于该请求。
负载发生器(线程组):用于产生负载,在Jemeter中使用线程组的方式模拟用户行为。
线程组关键属性
1、线程数:模拟用户数
2、Ramp-up period:多长时间启动所有线程
如果使用10个线程,ramp-up period是100秒,那么100秒使所有10个线程启动并运行。每个线程会在上一个线程启动后10秒启动。
Ramp-up:充足长以避免在启动有一个太大的负载,并且要充足小以至于最后一个线程在第一个完成前启动。
如果设置为0就代表并发请求。
3、循环次数:代表请求发生的重复次数,如果选择后面的forever(默认),那么请求将一直继续,可以配合调度器使用。
如果不选择forever,而在输入框中输入数字,那么请求将重复指定的次数。
4、取样器
代表一次请求-响应的过程,他们是测试用例中动作的发起者。
Jmeter根据不同的应用预制了很多动作元素,如果用户觉得仍然不够用甚至可以用BeanShell Sampler写自己的动作。
比如HTTP Request Sampler、FTP Request Sampler、JDBC Request Sampler
每一种不同类型的取样器可以根据设置的参数向服务器发出不同类型的请求。
取样器发送一次请求,可以通过“查看结果树”,来看响应数据
三、Jmeter断言
响应断言
通过检查服务器的响应数据,是否符合预期想要的数据,判断任务是否成功。
断言持续时间
大小断言
四、Jmeter监听技术
1、查看结果树
使用查看结果树组件,运行后查看结果树中展示了每一个取样器的结果、请求信息和响应信息,可以查看这些内容去分析脚本是否存在问题。