花几分钟整点jmeter花活,轻松超越90%软件测试

2023-12-30 04:52

本文主要是介绍花几分钟整点jmeter花活,轻松超越90%软件测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

jmeter 可以做性能测试,这个很多人都知道,那你知道,jmeter 可以在启动运行时,指定线程数和运行时间,自定义性能场景吗?

jmeter 性能测试,动态设定性能场景

平时,我们使用 jmeter 进行性能测试时,使用普通线程组,并发用户数和运行时间等场景参数都是固定写死的。运行脚本时,就按照写死在脚本中的场景来运行。

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386   

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click相信,绝大多使用 jmeter 进行性能测试,性能场景设计,都类似上图,写死线程数、ramp-up 时间、持续运行时间。

这样,固然很好,直接就可以用,但是,当我们用 CLI 模式,做负载测试时,我们期望能随时更改线程数、ramp-up 时间和持续运行时间,你怎么做?

用 jmeter 的 gui 界面,修改场景中的这些参数值,然后,保存,再运行;或者,直接编辑脚本 jmx 文件,保存,再运行。

两种方法都可以,但是,有没有感觉,比较麻烦?有没有更简洁的方法呢?

在我的教学中,给大家讲过,jmeter 除了变量之外,还有‘属性’,属性是 jmeter 工具的标签,可以在 jmeter 这个工具的任何地方被使用。

jmeter 不仅支持属性文件配置静态属性,也支持,在脚本运行过程中,动态生成属性,而且,还支持,外部传入动态属性。

我们可以把场景,修改为如图:

图片

通过获取属性 pthreads,来指定线程数, 获取属性 pramp 来指定 ramp-up 时间,获取属性 pruntime 来指定持续运行时间。

这些属性,真实存在吗?后面的数字,又是什么意思呢?

首先,P 函数,在 jmeter 中,是获取属性函数,它有两个参数,第 1 个参数,是属性名,这些属性,可以事先定义的静态属性,也可以是动态生成的动态属性,图中用到的所有属性,就是事先没有定义,在运行时动态定义的属性;第 2 个参数,是属性默认值,当这个属性没有获取到值时,使用这个默认值。

什么意思?

意思是,如上图这样设计,你不传任何属性值,直接运行,就会按 1 秒钟内启动 30 个并发用户数,持续运行 60 秒的场景来运行。

图片

现在,你可以放心了吧,即便你没有传入这些属性值,这个场景,也是可以正常运行的。

那,我们在 CLI 模式下,进行性能测试时,到底应该怎么传入这些属性值呢?

首先,我们要知道,使用 CLI 模式,进行性能测试,通常有两种方式,一种,就是直接启动本地脚本运行;另外一种,就是采用分布式,指定助攻机器来运行。

  • 用 CLI 命令,直接指定本地脚本运行

CLI 命令中,使用 -J[property_name]=value 的方式,传入属性值

# 本地运行, 指定pthreads线程数属性参数值为50,pruntime持续运行时间属性参数值为70秒
jmeter.bat -n -t .\jkscript\demo_script.jmx -Jpthreads=50 -Jpruntime=70 \ 
-l test001.jtl -e -o .\jkscript\test001

 看,实际运行时,50 个线程数,运行 70 秒钟。

  • 用 CLI 命令,指定助攻机运行

CLI 命令中,使用 -G[property_name]=value 的方式,传入属性值

# 采用助攻机运行 指定pthreads线程数属性参数值为80,指定pruntime持续运行时长属性参数值为120秒
jmeter.bat -n -R 192.168.x.x:port -t .\jkscript\demo_script.jmx -Gpthreads=80 -Gpruntime=120 \ 
-l test002.jtl -e -o result002

看,实际运行,根据命令参数设置,运行了 80 个线程数,持续运行了 120 秒钟。

有了这样一种技术之后,我们再也不用去打开脚本修改性能场景了,只需要在执行命令的时候,改下脚本参数就可以了。只是,我们要记清楚,本地直接运行,属性参数名称前用‘J’,分布式运行,属性参数名称前用‘G’。

好了,你掌握了吗?

 

这篇关于花几分钟整点jmeter花活,轻松超越90%软件测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/551756

相关文章

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

四种简单方法 轻松进入电脑主板 BIOS 或 UEFI 固件设置

《四种简单方法轻松进入电脑主板BIOS或UEFI固件设置》设置BIOS/UEFI是计算机维护和管理中的一项重要任务,它允许用户配置计算机的启动选项、硬件设置和其他关键参数,该怎么进入呢?下面... 随着计算机技术的发展,大多数主流 PC 和笔记本已经从传统 BIOS 转向了 UEFI 固件。很多时候,我们也

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

轻松掌握python的dataclass让你的代码更简洁优雅

《轻松掌握python的dataclass让你的代码更简洁优雅》本文总结了几个我在使用Python的dataclass时常用的技巧,dataclass装饰器可以帮助我们简化数据类的定义过程,包括设置默... 目录1. 传统的类定义方式2. dataclass装饰器定义类2.1. 默认值2.2. 隐藏敏感信息

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

轻松录制每一刻:探索2024年免费高清录屏应用

你不会还在用一些社交工具来录屏吧?现在的市面上有不少免费录屏的软件了。别看如软件是免费的,它的功能比起社交工具的录屏功能来说全面的多。这次我就分享几款我用过的录屏工具。 1.福晰录屏大师 链接直达:https://www.foxitsoftware.cn/REC/  这个软件的操作方式非常简单,打开软件之后从界面设计就能看出来这个软件操作的便捷性。界面的设计简单明了基本一打眼你就会轻松驾驭啦

NGINX轻松管理10万长连接 --- 基于2GB内存的CentOS 6.5 x86-64

转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=190176&id=4234854 一 前言 当管理大量连接时,特别是只有少量活跃连接,NGINX有比较好的CPU和RAM利用率,如今是多终端保持在线的时代,更能让NGINX发挥这个优点。本文做一个简单测试,NGINX在一个普通PC虚拟机上维护100k的HTTP

《战锤40K:星际战士2》超越《黑神话》 登Steam热销榜首

《使命召唤:黑色行动6》将登陆 PC Game Pass看来确实影响了销量,因为这次在 Steam 上它的预购并没有占领 Steam 热销榜单之首。这次霸榜的则是即将推出的《战锤40K:星际战士2》。 根据 SteamDB 显示,这部将于9 月 10 日发售的游戏已经面向预购了高级版本的玩家开放了抢先体验,也因此推动了大量的预购销量。该游戏不仅是目前 Steam 上预购最多的游戏,而且还是总体