当前位置: 代码网 > it编程>编程语言>Java > Jmeter接口测试工具的一些使用小技巧,2024年最新闭关60天学懂NDK+Flutter

Jmeter接口测试工具的一些使用小技巧,2024年最新闭关60天学懂NDK+Flutter

2024年07月28日 Java 我要评论
Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误。这种方式很笨,也很难达到真正的同步。通过远程运行jmeter,测试人员可以跨越多台低端计算机复制测试,这样就可以模拟一个比较大的服务器压力,一个jmeter客户端实例,理论上可以控制任意多的远程jmeter实例,并通过他们收集测试数据。但是,如果使用大量的JMeter 远程服务器,可能会导致客户端过载,或者网络连接发生拥塞。

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里p7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加v获取:vip1024b (备注软件测试)
img

正文

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

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读取。


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

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加v获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事it行业的老鸟或是对it行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
vip1024b (备注软件测试)**
[外链图片转存中…(img-fs8jiitu-1713326406624)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事it行业的老鸟或是对it行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com