51Testing软件测试论坛
标题:
JMeter之被忽视的官方Java Sampler
[打印本页]
作者:
lsekfe
时间:
2020-7-31 09:58
标题:
JMeter之被忽视的官方Java Sampler
今天下班回家早,宝路来跟大家聊聊官方自带的Java Sampler,目前遇到过的好些同事竟然也没怎么用过。
嗯?文章题目不是说被忽视的官方Sampler么?跟Java Request有神马关系啊。熟悉JMeter的同学应该知道Java Requst,这是JMeter官方提供的支持java代码编写sampler的方式,大家可以类比LR中的Java Vuser脚本。
大家不要慌张,今天不撸代码。如果同学们想了解关于Java Request的相关内容大家可以看看我的这篇 关于JMeter原子性相关探究 的文章。
不知道大家有没有注意审题,什么叫被忽视的官方Sampler?JMeter官方提供了2个Java Request demo
org.apache.jmeter.protocol.java.test.JavaTest
org.apache.jmeter.protocol.java.test.SleepTest
[attach]129134[/attach]
估计大家应该见过(extends AbstractJavaSamplerClient的类会被扫描到这个下拉框),但是可以说很少有同学会真正的用到。
那么这个两个demo,有啥用处呢?这里宝路来详细说下JavaTest(因为我经常用)。
大家在调试脚本的时候经常会遇到某些交易要去调用三方系统,或者环境临时出现问题了,怎么办?
这时就可以用到JavaTest,其实大家完全可以理解成mock功能:
[attach]129135[/attach]
[attach]129136[/attach]
大家要注意:Sleep_Time 不表示最终总耗时,总耗时计算公式为: totalSleepTime = Sleep_Time + (System.currentTimeMillis() % Sleep_Mask)
大家可以把System.currentTimeMillis() % Sleep_Mask 理解成给Sleep_Time 增加随机时间的一个方法。
知道这些之后,我们就可以做mock了,用JavaTest来模拟三方接口返回,大家可以自行尝试下。
还有就是要说下,希望大家要灵活运用,比如在排查某些奇怪性能问题时,宝路这边就经常会使用JavaTest来替换部分交易,往往都会有很好的效果。
再比如:验证、调试脚本时也会使用,在某些情况下,不允许你发往服务器真正的进行发压,那就可以采用JavaTest来模拟。
再比如:临时验证前置/后置处理器中的某些代码,就可以快速的使用JavaTest来充当Sampler。
更多用处需要大家自行去研究,最后还是建议大家能把JavaTest用起来。有能力的同学一定要多看JMeter源码。
作者:
Miss_love
时间:
2020-7-31 10:29
学习
作者:
lijingprince5
时间:
2020-8-2 22:41
不错的,学习了!!
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2