Jmeter简介

基础介绍

Jmeter录制脚本的原始是配置一个HTTP代理,然后浏览器通过这个代理访问测试页面从而完成脚本录制。
一、下载安装

jmeter本身不需要安装,需要配置环境变量JDK,然后打开bin文件夹中的jmeter.vbs即可。建议jdk 1.7及以上版本。

基本祖成:

  • 负载发生器:模拟多线程或多进程用户行为
  • 用户运行器:模拟用户行为
  • 资源生成器:测试过程中服务器、负载机的资源数据
  • 报表生成器:查看可视化的结果数据

二、主要概念

  • 测试计划(test plan)
    是测试脚本的根节点。描述一个性能测试,包含本次测试所有相关功能。关于整个测试脚本的基础设置可以在测试计划中设定。
  • 线程(threads)

    setUp Thread Group:
    一种特殊类型的线程,可用于执行预测试操作。即执行测试前进行的定期线程组。
    tearDown Thread Group:
    一种特殊类型的线程,可用于执行测试后动作。即执行测试结束后定期执行的线程组。
    Thread Group:
    添加使用的线程,一个线程组可看作一个虚拟用户组,每个线程为一个虚拟用户。
  • 测试片段(test fragment)
    是一组特殊的线程组,不被执行,除非它是一个模块控制器或者被控制器所引用时才会被执行。
  • 控制器
    有两种控制器:取样器(sampler)和逻辑控制器(Logic Controller)作用:用这些元件驱动处理一个测试(在Thread Group中添加控制器)
    1)取样器

    取样器是性能测试中向服务器发送请求,记录响应数据,记录响应时间的最小单元。jmeter支持多种类型的sampler,不同类型的sampler可以根据设置的参数向服务器发出不同类型的请求。
    2)逻辑控制器

    包含两类元件:一类是Test Plan中sampler节点发送请求的逻辑顺序控制器,常用的有:if controller、switch controller、Loop controller等;另一类是用来组织和控制Sampler节点的,如:Transaction Controller等。
  • 监听器(Listener)

对测试结果进行处理和可视化展示的一系列组件,常用的有图形结果(Aggregrate Graph)、查看结果树(View Results Tree)、聚合报告(Aggregate Report)等。
以上五种元件即可构成一个简单的性能测试脚本

  • 配置元件(Config Element)

    用于提供对静态数据配置的支持。CSV Data Set Config可以将本地数据文件形成数据池(Data Pool);HTTP Request Defaults和TCP Sampler config等类型的元件可以修改sampler的默认数据。

  • 定时器(Timer)

    用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段,jmeter定义了Constant Times、Constant Throughput Tiems等不同类型的Timers。

    throughput:吞吐量

  • 断言(assertions)

    用于检查测试中得到的响应数据等是否符合预期,Assertions一般用来设置检查点,用以保证性能测试过程中的数据交互与预期一致。

  • 前处理器(Pre Processors)

    用于在实际请求发出之前对即将发出的请求进行特殊处理。

    1)HTML Link Parser

    是HTML链接解析器,用于从前一个sampler返回的html页面中按照规则解析连接和表单,再根据此处理器所在的sampler中的规则进行匹配修改,而后该sampler会执行。

  • 后处理器(Post Processors)

    用于对Sampler发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据。

JMeter参数化

参数化是自动化测试脚本的一种常用技巧,可将脚本中的某些输入使用参数来代替。

  • 参数化的四种方式及使用场景
参数化方式 使用场景
User Parameters 适用于参数取值范围很小的时候使用
CSV Data Set Config 适用于参数取值范围较大的时候使用灵活性强
User Defined Variables 一般用于Test Plan中不需要随请求迭代的参数设置,如:Host、Port Number
Function Helper Dialog中的函数 可作为其他参数方式的补充,如随机生成的函数
  • User Parameters(用户参数)
    添加路径:Http Request -> Add -> Pre Processors -> User Parameters
    添加之后设置参数名和参数值
    在Http Request中设置请求参数
  • CSV Data Set Config(CSV 数据配置)
    添加路径:Http Request -> Add -> Config Element -> CSV Data Set Config
  • User Defined Varivales(用户自定义变量)
    添加路径:Thread Group -> Add -> Config Element -> User Defined Variables
  • Function Helper Dialog 中的函数
    添加步骤:Tools -> Function Helper Dialog
    选择函数,填写数据要求,点击Generate & Copy to clipboard
    配置取样器中的请求参数:将Function syntax显示的函数信息写入参数值中,eg:${__Random(10,99,random_set)}

测试结果字段

  • Label:定义HTTP请求名称
  • Samples:表示这次测试中一共发出了多少个请求
  • Average:平均响应时长------默认情况是单个Request的平均响应时长,当使用了Transaction Controller时以Transaction为单位显示平均响应时长
  • Median:中位数,50%用户的响应时长
  • 90%Line:90%用户的响应时长
  • Min:访问页面的最小响应时长
  • Max:访问页面的最大响应时长
  • Error%:错误请求的数量/请求的总数
  • Throughput:默认情况下表示每秒完成的请求数(Request per Second)
  • KB/Sec:每秒从服务器端接收到的数据量
相关推荐
文人sec15 小时前
性能测试-jmeter9-逻辑控制器、定时器压力并发
测试工具·jmeter·性能优化·模块测试
CesareCheung2 天前
JMeter分布式压力测试
分布式·jmeter·压力测试
测试界清流2 天前
jmeter使用技巧
jmeter
春时似衿里2 天前
jmeter配置数据库连接步骤
数据库·jmeter
新知图书2 天前
JMeter的安装部署
jmeter
程序员杰哥2 天前
什么是Jmeter? Jmeter工作原理是什么?
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·测试用例
乐神嘎嘎嘎2 天前
Jmeter测试
jmeter
卓码软件测评2 天前
第三方软件测试机构【性能测试工具用LoadRunner还是JMeter?】
java·功能测试·测试工具·jmeter·性能优化
BatyTao3 天前
Jmeter执行数据库操作
数据库·jmeter
二宝哥3 天前
性能测试工具Jmeter之java.net.BindException: Address already in use
jmeter