首页 > 其他分享 >jmeter入门简介

jmeter入门简介

时间:2023-06-21 18:22:30浏览次数:38  
标签:Jmeter 入门 -- 简介 线程 取样器 jmeter 节点

1.引入

1.1 为什么要学习jmeter

  1. 免费开源
  2. 多系统兼容
  3. 轻量级工具
  4. 易用
  5. 插件丰富
  6. 功能强大
    • 接口功能测试
    • 接口自动化测试(jmeter+maven/ant+jenkins)
    • 接口性能测试

与其他性能测试工具比较:

  • apacheAB:不接受服务器返回数据,只返回code,比jmeter快,返回结果无意义
  • loadrunner:商用收费软件,功能强大,图表丰富。
  • locust:基于python的免费开源工具,图表简单,不支持资源监控
  • gatling:基于java的免费开源工具,使用代码执行性能测试,灵活性强,学习成本较高

1.2 官网相关介绍

http://jmeter.apache.org

Documentation--Best Practices 最佳实践

Documentation--Component Reference 组件

Documentation--Function Reference 函数

Tutorials--Distributed Testing 分布式压测

2.jmeter安装及目录结构

2.1 安装及配置

jmeter是基于JAVA的应用,需要有JDK环境的支持

要求JDK版本和Jmeter版本匹配(jmeter官网有要求)最低1.8

外观设置(选项--外观)

GUI语言设置

1.永久设置:jmeter.properties 搜索:language值改为zh_cn

2.临时设置:选项--选择语言--简体中文

日志级别

选项--日志级别

debug<info<warning<error 默认info

2.2 目录结构

bin:Jmeter的主jar包,启动脚本、配置文件和日志文件等

  • ApacheJmeter.jar:jar包启动文件(不会启动命令行)
  • Jmeter.bat/Jmeter.sh:启动文件
  • Jmeter.properties: Jmeter的配置文件,配置文件一旦修改,要重启Jmeter才能生效

docs:jmeter的官方API文档,主要用于二次开发

extras:存放一些附加组件,主要是jmeter和ant的集成所需要的一些文件

lib:该目录发生变更,jmeter必须重启才会有效

lib\ext目录:存放的是第三方的组件和插件,包括我们自己做的二次扩展的

printable_docs:存放的是jmeter官方的帮助文档

启动jmeter 

windows:Jmeter.bat/java -jar ApacheJMeter.jar

linux:jmeter.sh/java -jar ApacheJMeter.jar

3.组件介绍

jmeter有六大组件

配置元件、定时器、前置处理器、后置处理器、断言、监听器

这六大组件都可以添加到测试计划、线程组、逻辑控制器、取样器

3.1 配置元件(ConfigElement)

作用:类似于项目的配置文件

主要有:

  • csv数据文件设置
  • HTTP信息头管理器
  • HTTP Cookie管理器
  • HTTP请求默认值
  • 计数器
  • JDBC Connection Configuration

3.2 前置处理器(Pre Processors)

作用:在取样器请求之前执行的一些操作,比如加密入参

主要:BeanShell预处理程序

3.3 定时器(Timer)

作用:一般用来指定请求发送的延时策略,不建议使用

主要有:

  • 固定计时器
  • 同步定时器(集合点)
  • 高斯随机定时器

3.4 后置处理器(Post Processors)

作用:在取样器请求完成之后执行一些操作,通常用于处理响应数据,从中提取需要的值(关联)

主要有:

  • 正则表达式提取器
  • 调式后置处理程序
  • jp@gc-JSON/YAML Path Extractor
  • BeanShell后置处理器

3.5 断言(Assertions)

作用:主要用于判断响应是否返回了期望的业务结果

主要有:

  • 响应断言
  • 断言持续时间
  • BeanShell断言

3.6 监听器(Listeners)

作用:监听器可以在JMeter执行测试的过程中搜集相关的数据,并展示

主要有:

  • 查看结果树
  • 聚合报告
  • 用表格查看结果
  • jp@gc-Transactions per Second(tps)
  • jp@gc-Reponse Times Over Time(响应时间)
  • jp@gc-Active Threads Over Time(线程时间分布)

3.7 其他

测试计划(Test Plan)

线程:下面有线程组

  • 线程组(Thread Group)
  • jp@gc-Stepping Thread Group
  • SetUp线程组
  • tearDown线程组

逻辑控制器(Logic Controller)

  • 事务控制器
  • 吞吐量控制器(控制业务模型)
  • 仅一次控制器
  • ForEach控制器

取样器(Sampler)

  • HTTP请求
  • jp@gc-Dummy Sampler(mock取样器)
  • 调试取样器
  • JDBC Request
  • 其他:java,tcp,websocket

4.执行顺序和作用域

4.1 执行顺序

1.配置元件
2.前置处理器
3.定时器
4.取样器
5.后置处理器
6.断言
7.监听器

4.2 作用域

取样器(sampler):不和其他元件相互作用,因此不存在作用域问题

逻辑控制器(Logic Controller):只对其子节点中的取样器和逻辑控制器作用

6大组件:配置原件,前置处理器,定时器,后置处理程序,断言,监听器

总结:

  • 如果是某个sampler的子节点(放在取样器下面),则该元件对其父子节点起作用(这个父节点就是取样器)
  • 如果其父节点不是sampler(比如是:测试计划、线程组、逻辑控制器、取样器),则其作用域是该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点等)

结论:

  1. 和Java变量作用域类似:局部没有,就用全局的
  2. 最简单的方式:全部放局部,但是会耗费很多客户端资源
  3. 所以,公共的,放全局,比如断言的内容相同,特有的,放局部,就是放对应的组件(线程组)或者取样器下面,比如取样器的断言内容不一样

标签:Jmeter,入门,--,简介,线程,取样器,jmeter,节点
From: https://www.cnblogs.com/lgs-tech/p/17496883.html

相关文章

  • 全网最新最全首届“陇剑杯”网络安全大赛完整WIRTEUP --- 简介
    分为理论题和ctf题目理论题20道,单选10个,多选10个,全队只能答1次,考察法律和理论技术ctf题目分为11个大题,具体是签到(1题)、jwt(6题)、webshell(7题)、日志分析(3题)、流量分析(3题)、内存分析(2题)、简单日志分析(3题)、SQL注入(3题)、wifi(1题)、ios(8题)、机密内存(5题),大题主中包......
  • 官方Radare2书之简介
    本书是原radare1书(作者:pancake)的更新版本(更新:maijin)。它由许多网上志愿者积极更新维护。查看Github网站,添加新的内容或修正错别字。Github:https://github.com/radareorg/radare2book在线:https://radareorg.github.io/radare2book/index.htmlhttps://book.rada.re/index.h......
  • C#语言async, await 简单介绍与实例(入门级)
       本文介绍异步编程的基本思想和语法。在程序处理里,程序基本上有两种处理方式:同步和异步。对于有些新手,甚至认为“同步”是同时进行的意思,这显然是错误的。同步的基本意思是:程序一个个执行方法,或者说在方法调用上,fun1(),fun2(),fun3(),fun4().. 按顺序调用,而异步的意思......
  • 索然无味!Kotlin开发从入门到上天,一篇文章就搞定了!(万字长文)
    标题党?看起来可能有点标题党的意思,但我知道,不这样,你们可能看不到这篇。关于Kotlin相关记录,如果有意查看我的github,其超10w字(其中8w是代码吗,哈哈)。。为什么要学?在不牺牲性能或安全性的前提下,许多的Kotlin功能使代码比Java更加简洁易懂。Kotlin编译为字节码,因此其性能与Java一样好......
  • PG-DBA培训03:Linux平台PostgreSQL安装配置与管理入门
    一、风哥PG-DBA培训03:Linux平台PostgreSQL安装配置与管理入门本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL数据库实战入门与安装配置阶段之Linux平台PostgreSQL安装配置与管理入门课程,学完本课程可以掌握基于Linux平台的PostgreSQL项目规划,PostgreSQL......
  • PG-DBA培训02:Win平台PostgreSQL安装配置与管理入门 原创
    一、风哥PG-DBA培训02:Win平台PostgreSQL安装配置与管理入门本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL数据库实战入门与安装配置阶段之Win平台PostgreSQL安装配置与管理入门课程,学完本课程可以掌握基于Windows平台的PostgreSQL项目规划,PostgreSQL数......
  • Android车载应用系统开发入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
    前言众所周知,国内的安卓市场内卷极其严重,原生应用开发可谓是寸步难行,但整个Android生态却无比繁荣,手机、平板、电视、音视频等等,特别是在智能汽车+电动汽车的浪潮下,车载行业成为许多Android人竞相奔走的行业,薪资待遇以及岗位招聘呈上涨趋势。对于涉事多年的「老Android人」来说,转行......
  • PG-DBA培训01:PostgreSQL数据库基础入门培训
    一、风哥PG-DBA培训01:PostgreSQL数据库基础入门培训课程本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL数据库实战入门与安装配置阶段之PostgreSQL数据库基础入门培训课程,学完本课程可以掌握PostgreSQL数据库简介,PostgreSQL行业生态应用,PostgreSQL工作与......
  • PG-DBA培训01:PostgreSQL数据库基础入门培训
    一、风哥PG-DBA培训01:PostgreSQL数据库基础入门培训课程本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL数据库实战入门与安装配置阶段之PostgreSQL数据库基础入门培训课程,学完本课程可以掌握PostgreSQL数据库简介,PostgreSQL行业生态应用,PostgreSQL工作与就......
  • PG-DBA培训02:Win平台PostgreSQL安装配置与管理入门
    一、风哥PG-DBA培训02:Win平台PostgreSQL安装配置与管理入门本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL数据库实战入门与安装配置阶段之Win平台PostgreSQL安装配置与管理入门课程,学完本课程可以掌握基于Windows平台的PostgreSQL项目规划,PostgreSQL数据......