jmeter脚本开发:jmeter工具的学习(二)

1|0一. Jmeter环境安装与配置


Apache下的开源免费的工具

java开发——运行环境jre、jdk,跨平台

1. 安装jdk1.8

2. 下载免费的jmeter(大于3.2版本),解压

3. 启动jmeter

  • bin下的 jmeter.bat  jemter.sh
  • 双击ApacheJmeter.jar或java -jar ApacheJmeter.jar

同一个系统中,可以启动多个jmeter(相同版本、不同版本),不配置JMETER_HOME

2|0二. Jmeter文件结构


  • bin:启动脚本、配置文件
  • docs:api文档
  • lib:lib/ext  放第三方插件
  • extras:扩展之外的一些东西
  • printable_docs:离线文档

3|0三. Jmeter GUI工具介绍


工具菜单

  更改显示语言:options > choose language > Chinese simple

  在jmeter.properties中配置language=zh_CN

右键操作

  运行

  日志\清空日志

  帮助

4|0三. Jmeter脚本的组成部分


1. 线程组Threads:场景设计

2. 取样器Sampler:编写脚本

3. 监听器Listener:结果报告

5|0四. Jmeter工作原理


模拟多用户操作向服务器发起请求,并收集响应结果用于数据分析

6|0五. Jmeter元件


测试计划:脚本容器

  线程组:用于场景设计

      取样器:用于制作不同协议脚本

      逻辑控制器:条件控制

      前置处理器:预处理

        后置处理器:信息提取

      断言:信息验证

      定时器

      测试片段:管理测试用例

      配置元件:原始器件

      监视器:结果监控分析

  配置元件

  监视器

  定时器

  前置处理器

  后置处理器

  断言

  测试片段

  非测试元件,代理服务器

取样器是不共用的,优先级最低的

 

线程属性

Ramp-Up时间:代表启动耗时多少。以下场景代表1s内启动100个线程,运行1次就结束。如果Ramp-Up改为5,表示5s内启动100个线程,循环1次。这个不能平均为1s启动20个。注意100以上的线程,建议使用10s以上的时间来启动,如果1s内启动100个线程,很突然并发,服务器的压力会陡然上升

如果循环次数为4,表示100是这个线程组的包,100这个线程组反复循环4次,不是100中某一个线程循环4次,应该看作一个整体。第0-10s这个时间点已经把100个线程启动好了,已经循环了一次,然后10s后开始循环第二次,第三次...,后面的三次循环的时间看具体使用了多少,有可能1s内完成了300次调用,那么总共耗时等于11s,如果用了2s,那么总共耗时等于12s

调度器:计划在某个时间点做什么事情。循环次数永远 + 持续时间10s,以下场景表示不限循环次数,在10s内启动100个线程,一直持续10s,总共耗时等于20s,20s之后就会结束,至于结束用了1s还是2s,有可能会变成21s,22s。会超过20s多一点点

循环次数=4 + 持续时间10s,以下场景表示10s内启动100个线程,循环一次,10s后开始循环后面三次,有可能后面三次只消耗了1s,但计划的时间是20s,所以剩下9s的时间用来等待结束。一般不会这样使用

启动延迟2s,以下场景表示0-2s时间段不做任何事情,从2s-12s,启动100个线程,然后一直运行下去

 

线程数10,循环10次和线程数100,循环1次,有什么区别?

前者10个线程一起打包循环,10次循环是循环了10个线程组,后者1次循环只循环了1个线程组,这里面有100个线程,跑了1次

线程组和线程是两个完全不同的东西

 

7|0六. Jmeter脚本制作:两种方式三种方法


7|11. 手动编写脚本(万能法)


选协议

接口报文:接口文档\api文档\swagger\  F12  fiddler

 

编码这里不管是不是中文都勾上

876fe01176b9c856c50b9449fcf1b730.png  

7|22. 录制——badboy录制


打开badboy

录制操作行为

导出为jmeter文件格式

jmeter打开文件

 

优缺点:接口参数比较多时,很方便

部分js不支持,导致无法录制;大量杂质;https无法录制

 

7|33. 录制——http代理服务器


jmeter中添加线程组

在测试计划下,右键添加非测试元件,选择添加http代理服务器,启用代理

浏览器设置代理,访问被测试系统

停止代理,关闭浏览器代理设置

 

优缺点:http\https都可录制

代理配置有点复杂,脚本中含有杂质

 

端口:默认8888,可改可不改

HTTPS Domains:一般不用写

目标控制器:要改成测试计划 > 线程组

Prefix:前缀,分组才有用

1054448b83b0f79602a3b21ee98f9bcf.png  

建议在Requests Filtering中添加建议排除,排除掉一些杂质

 


__EOF__

本文作者cnhkzyy
本文链接https://www.cnblogs.com/my_captain/p/12582468.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   cnhkzyy  阅读(407)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示