Jmeter接口测试工具的一些使用小技巧

news2024/11/28 12:54:15

 如何使用英文界面的JMeter


Jmeter启动时会自动判断操作系统的locale 并选择合适的语言启动,所以,我们启动jmeter后,其会出现一个倍感亲切的中文界面。但由于jmeter本身的汉化工作做得不好,你会看到有未被汉化的选项及元件的参数。而且部分翻译并不准确,因此对于英文比较好的牛人来说更喜欢纯正的英文界面。

强制以英文方式启动jmeter的方法如下:

在windows环境下,打开jmeter解压目录,bin目录下的jmeter.bat文件,也就是jmeter程序的启动文件,选择记事本方式打开。做以下修改:

.................
set HEAP=-Xms512m -Xmx512m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
set TENURING=-XX:MaxTenuringThreshold=2
set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000
set PERM=-XX:PermSize=64m -XX:MaxPermSize=64m
set LOCALE=-Duser.language=en  -Duser.region=rem 
set DEBUG=-verbose:gc -XX:+PrintTenuringDistribution

.........
rem Server mode
rem Collect the settings defined above
set ARGS=%DUMP%  %HEAP%  %NEW%  %SURVIVOR%  %TENURING%  %RMIGC%  %PERM%  %DDRAW%  %LOCALE%
.............

晕死,当我上面介绍了那么多后,在最新的2.8版本,我无意中发现了这个功能。

如何使用镜像服务器


        在调试和修改测试计划的过程中,通常会为采样器增加一些额外的设置,例何设置额外的HTTP头、cookie管理器或认证管理器等,但当设置了这些内容后,sampler发出的请求是否就与预期的完全一支呢?

  当然用户可以通过添加监听器来看查采样器发出的HTTP请求,但如果调试过程中并不想真正地把请求发送给被测应用,如何解决这个问题呢?

  Jmeter 提供了一个名叫HTTP Mirror Server的组件,HTTP Mirror Server可以启动一个镜像的服务器,该服务器把所有接收到的请求原封不动地返回,这样就可以看到发出请求的具体内容了。

添加HTTP Mirror Server的方式:

右键点击“工作台”--->非测试元件--->HTTP Mirror Server 

如果有必要的话需要修改端口号,点击“启动”按钮来启动Server 。

接下来修改采样器,使其将HTTP请求 发送到localhost:8081(也就是Mirror Server启动的位置)

然后,运行测试计划,则可以从监听器“查看结果树”中看到响应数据。

JMeter分布式测试


        Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误。为了让jmeter工具提供更大的负载能力,jmeter短小精悍一有了使用多台机器同时产生负载的机制。

  那么,是如何实现多台负载机同时运行的呢?当然不会多个人坐在多台负载机面前,一喊开始,大家同时启动jmeter。这种方式很笨,也很难达到真正的同步。其实,我们通过单个jmeter 客户端就可以控制多个远程的jmeter服务器,使它们同步的对服务器进行压力测试。

  通过远程运行jmeter,测试人员可以跨越多台低端计算机复制测试,这样就可以模拟一个比较大的服务器压力,一个jmeter客户端实例,理论上可以控制任意多的远程jmeter实例,并通过他们收集测试数据。这样一样,就有了如下特性:

*   保存测试采样数据到本地机器

*   通过单台机器管理多个jmeter执行引擎。

*   没有必要将测试计划复制到每一台机器,jmeter GUI客户端会将它发往每一台jmeter服务器。

*   每一台jmeter远程服务器都执行相同的测试计划,jmeter不会在执行期间做负载均衡,每一台服务器都会完整地运行测试计划。

  在1.4G Hz~3GHz 的CPU 、1GB 内存的 JMeter 客户端上,可以处理线程 100~300。但是Web Service 例外。XML处理是 CPU 运算密集的,会迅速消耗掉所有的CPU 。一般来说,以XML技术为核心的应用系统,其性能将是普通Web 应用的 10%~25% 。另外,如果所有负载由一台机器产生,网卡和交换机端口都可能产生瓶颈,所以一个JMeter 客户端线程数不应超过 10 0 。 

  采用JMeter 远程模式并不会比独立运行相同数目的非GUI 测试更耗费资源。但是,如果使用大量的JMeter 远程服务器,可能会导致客户端过载,或者网络连接发生拥塞。

使用多台机器产生负载的操作步骤如下:

(1)在所有期望运行jmeter作为 负载生成器的机器上安装jmeter, 并确定其中一台机器作为 controller ,其他的的机器作为agent 。然后运行所有 agent 机器上的jmeter-server 文件(假定使用两台机器192.168.0.100 和192.168.0.101 作为agent)

(2)在controller机器的jmeter的bin目录下,找到jmeter.properties 文件,编辑该文件:

查找:
remote_hosts=127.0.0.1
修改为:
remote_hosts=192.168.0.100:1099,192.168.0.101:1099 

  这里要特别注意端口后,有些资料说明端口1644为jmeter的controller 和agent 之间进行通信的默认RMI端口号,但是在测试时发现,设置为1644运行不成功,改成1099后运行通过。另外还要留意agent的机子是否开启了防火墙等。

(3)启动controller 机子上的jmeter应用,选择菜单“运行”--->“远程启动”,来分别启动agent ,也可以直接选择“远程全部启动”来将所有的agent启动。

启动Debug 日志记录


        大多数测试元件都支持Debug 日志记录。如果通过 GUI 运行测试计划,那么在选中测试元件后,可以通过“帮助”菜单enable debug或者disable debug。在“帮助”菜单 中有一个选项“What’s this node? ”,

  通过它可以查看GUI 和测试元件的类名,如图 11 -7 所示。通过它们,测试人员可以决定修改哪一项JMeter 属性,以便修改日志级别。

例如:我们可以点击一个HTTP请求,选择菜单栏“帮助”--->what's this node ?

在jmeter的bin\目录下,找到jmeter.properties 文件,关于日志级别的属性如下:

#Logging levels for the logging categories in JMeter.  Correct values are FATAL_ERROR, ERROR, WARN, INFO, and DEBUG
# To set the log level for a package or individual class, use:
# log_level.[package_name].[classname]=[PRIORITY_LEVEL]
# But omit "org.apache" from the package name.  The classname is optional.  Further examples below.

log_level.jmeter=INFO
log_level.jmeter.junit=DEBUG
#log_level.jmeter.control=DEBUG
#log_level.jmeter.testbeans=DEBUG
#log_level.jmeter.engine=DEBUG
#log_level.jmeter.threads=DEBUG
#log_level.jmeter.gui=WARN
#log_level.jmeter.testelement=DEBUG
#log_level.jmeter.util=WARN
#log_level.jmeter.util.classfinder=WARN
#log_level.jmeter.test=DEBUG
#log_level.jmeter.protocol.http=DEBUG
# For CookieManager, AuthManager etc:
#log_level.jmeter.protocol.http.control=DEBUG
#log_level.jmeter.protocol.ftp=WARN
#log_level.jmeter.protocol.jdbc=DEBUG
#log_level.jmeter.protocol.java=WARN
#log_level.jmeter.testelements.property=DEBUG
log_level.jorphan=INFO

搜索功能


        这是在使用一个变量或含有一定的URL或参数测试计划树和元素有时很难找到。现在一个新的特点是从2.6开始,你可以访问它的菜单搜索。它提供了搜索与下列选项:

*   使搜索区分大小写区分大小写:

*   正则表达式是一个正则表达式搜索文本,如果有的话将被搜索的正则表达式树的组件,例如“\ BTEST \ b”将匹配任何组件,包含测试组件的搜索元素

线程之间传递变量


        JMeter 变量作用域局限于所属线程。这样设计是经过深思熟虑的,目的是让测试线程能够独立运转。有时候用户可能需要在不同线程间(可能属于同一个线程组,也可能不属于同一个线程组)传递变量。 

  其中一种方法就是使用属性。属性为所有 JMeter 线程所共享,因此当某个线程设置一个属性后,其他线程就可以读取更新后的值。

  如果存在大量数据需要在线程间传递,那么可以考虑使用文件。例如,测试人员可以在一个线程中使用监听器,保存响应到文件(Save Responses to a file )或者 BeanShell PostProcessor 。而在另外一个线程中使用HTTP 采样器的“file: ”协议来读取文件,接着使用一个后置处理器或者BeanShell 测试元件提取信息。 

  如果在测试启动前测试人员就能获得测试数据,那么最好将数据保存到文件中,使用CSV Dataset读取。

----------------------------------------

这最后一个技巧,操作较为麻烦,暂时不给详细的例子。算是提供个思路吧!知道有这当子事儿就行了。日后有机会再实践^_^

2023最新Jmeter接口测试从入门到精通(全套项目实战教程)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/793352.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

脸书营销,跨境电商不能忽视的营销新趋势

Facebook营销就是在Facebook上通过有针对性的广告、商业品牌群组等地方推广您的业务。随着社交媒体继续成为我们日常生活中不可或缺的一部分,Facebook产品在社交商务方面的扩展使该平台成为吸引新客户的重要渠道。 您应该注意到,很多企业都通过Facebook…

3个能免费使用的AI绘画软件,效果精致

通过AI绘画软件,设计小白也能轻松创作出精美的图画创作。本文将为大家介绍3款能免费使用的AI绘画软件,它们能帮助设计小白或者经验丰富的设计师快速设计出精美的图画作品,一起来看看吧! 1、即时灵感 即时灵感是国产的AI绘画软件…

【复习45-51题】【每天40分钟,我们一起用50天刷完 (剑指Offer)】第三十七天 37/50

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

VRRP技术和浮动路由(第二十六课)

VRRP技术和浮动路由(第二十六课) 一、浮动路由 1、浮动路由概述 1)浮动路由是什么 -浮动路由又称为路由备份,由两条或多条链路组成浮动路由 -浮动路由指配置两条静态路由,这两条静态路由的目的地址相同,但是下一跳地址不同两…

CPM-Bee-5B微调实记

CPM-Bee-5B微调实记 1. 准备工作 (1)用PyCharm打开CPM-Bee文件夹。 (2)设置成自己的环境:nlp (3)将src文件夹在终端打开 (4)激活自己的环境:nlp 2. 准备…

web自动化测试进阶篇05 ——— 界面交互场景测试

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…

数据结构day6(2023.7.20)

一、Xmind整理: 二、课上练习: 练习1:个栈的入栈次序ABCDE,则栈的不可能的输出序列是(D) A.ABCDE B.DECBA C.EDCBA D.DCEAB 栈的特点是先进后出,后进先出&#xf…

Electron 系统通知 Notification 实践指南

系统通知是桌面应用的常见功能,用于给用户发送提醒(刷下存在感 🙂),还能帮定点击事件以便后续的操作。 Electron 自带通知模块,下方代码是一个简单的示例 const { Notification } require(electron)cons…

Postman学习之常用断言

什么是断言? 断言——就是结果中的特定属性或值与预期做对比,如果一致,则用例通过,如果不一致,断言失败,用例失败。断言,是一个完整测试用例所不可或缺的一部分,没有断言的测试用例…

SZ:zip/内部函数外部函数/VGG模型/nn

zip: -r recursion-d delete-m move (move隐藏的意思是,原文件会消失)想增加文件,不需要加参数什么参数也没有。如果zip压缩文件不存在,执行以上命令将会创建一个新的zip文件并将指定的文件添加进去。如果zip压缩文件…

SpringBoot+Jpa+Thymeleaf实现增删改查

SpringBootJpaThymeleaf实现增删改查 这篇文章介绍如何使用 Jpa 和 Thymeleaf 做一个增删改查的示例。 1、pom依赖 pom 包里面添加Jpa 和 Thymeleaf 的相关包引用 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.…

网络层IP协议的基本原理 数据链路层ARP协议 域名解析以及一些重要技术

目录 1 网络层IP协议协议头格式网段划分DHCPCIDR&#xff1a;基于子网掩码的划分方式特殊的IP号IP地址的数量限制私有IP地址和公网IP地址路由路由表 2 数据链路层 — 局域网的转发问题以太网认识以太网以太网帧格式局域网通信原理 MTUMTU对IP协议的影响MTU对UDP协议的影响MTU对…

重要消息:这类PEFC证书即将失效!

【重要消息&#xff1a;这类PEFC证书即将失效&#xff01;】 所有按照2013年版标准颁发的PEFC证书都将于 2023年11月14日失效。 在此之前&#xff0c;PEFC执行标准为PEFC ST 2002:2013&#xff0c;现更改为PEFC ST 2002:2020&#xff0c;即从2013年版改为2020年版。 1. 如果您的…

中国嗅觉经济产业分析

随着人们对健康和福祉的重视程度不断提升&#xff0c;嗅觉行业也开始关注个人的舒适感和情绪平衡。香氛产品、空气清新剂和芳香疗法等产品受到越来越多人的青睐&#xff0c;帮助人们创造舒适、放松和愉悦的环境。也越来越多中国消费者对香水香氛有自己独特的作用感知。我们将这…

Windows Active Directory密码同步

大多数 IT 环境中&#xff0c;员工需要记住其默认 Windows Active Directory &#xff08;AD&#xff09; 帐户以外的帐户的单独凭据&#xff0c;最重要的是&#xff0c;每个密码还受不同的密码策略和到期日期的约束&#xff0c;为不同的帐户使用单独的密码会增加用户忘记密码和…

高校在线心理咨询系统的设计与实现(论文+源码)_kaic

高校在线心理咨询系统的设计与实现 摘 要 近年来,随着社会的发展&#xff0c;大学生面临的各方面压力越来越大&#xff0c;比如学习生 活的压力、角色转换、交际困难、情感困惑、就业困难等等&#xff0c; 因对这些压力处理 不当而导致的大学生心理健康问题越来越多&#xff0…

案例解析|河道水位及水资源远程监控方案

随着国家工业的发展&#xff0c;水资源越来越紧张&#xff0c;同时对于水污染加重&#xff0c;也导致可利用水资源越发稀缺&#xff0c;因此对河道水位进行监测&#xff0c;实现水资源的远程监控就显得非常重要。 河道水位及水资源远程监控方案&#xff0c;不仅可以对河道的水…

CASAtomic原子操作详解

一、CAS&#xff08;Compare And Swap&#xff09; 1、CAS介绍 CAS原理&#xff1a;假设有三个值&#xff0c;E&#xff08;旧值&#xff09;、U&#xff08;需要更新的值&#xff09;、V&#xff08;内存中真实的值&#xff09;&#xff0c;具体参照下图&#xff1a; 作用&a…

图论算法|深度优先搜索理论基础|797.所有可能的路径|广度优先搜索BFS理论基础|200. 岛屿数量

深度优先搜索&#xff08;dfs&#xff09;理论基础 dfs是可一个方向去搜&#xff0c;不到黄河不回头&#xff0c;直到遇到绝境了&#xff0c;搜不下去了&#xff0c;在换方向&#xff08;换方向的过程就涉及到了回溯&#xff09;。递归和回溯是相辅相成的 void dfs(参数) {if…

史上最全,接口测试-Fiddler抓包常用功能总结(超详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Fiddler中常用的功…