JMeter之被忽视的官方Java Sampler

发表于:2020-7-29 13:04

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:leebaul    来源:博客园

  今天下班回家早,宝路来跟大家聊聊官方自带的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
  估计大家应该见过(extends AbstractJavaSamplerClient的类会被扫描到这个下拉框),但是可以说很少有同学会真正的用到。
  那么这个两个demo,有啥用处呢?这里宝路来详细说下JavaTest(因为我经常用)。
  大家在调试脚本的时候经常会遇到某些交易要去调用三方系统,或者环境临时出现问题了,怎么办?
  这时就可以用到JavaTest,其实大家完全可以理解成mock功能:

  大家要注意:Sleep_Time 不表示最终总耗时,总耗时计算公式为:
  totalSleepTime = Sleep_Time + (System.currentTimeMillis() % Sleep_Mask)
  大家可以把System.currentTimeMillis() % Sleep_Mask 理解成给Sleep_Time 增加随机时间的一个方法。
  知道这些之后,我们就可以做mock了,用JavaTest来模拟三方接口返回,大家可以自行尝试下。
  还有就是要说下,希望大家要灵活运用,比如在排查某些奇怪性能问题时,宝路这边就经常会使用JavaTest来替换部分交易,往往都会有很好的效果。
  再比如:验证、调试脚本时也会使用,在某些情况下,不允许你发往服务器真正的进行发压,那就可以采用JavaTest来模拟。
  再比如:临时验证前置/后置处理器中的某些代码,就可以快速的使用JavaTest来充当Sampler。
  更多用处需要大家自行去研究,最后还是建议大家能把JavaTest用起来。有能力的同学一定要多看JMeter源码。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号