51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2009|回复: 3
打印 上一主题 下一主题

JMeter之被忽视的官方Java Sampler

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:14
  • 签到天数: 938 天

    连续签到: 5 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2020-7-31 09:58:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    今天下班回家早,宝路来跟大家聊聊官方自带的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

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-7-17 08:14
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]测试连长

    3#
    发表于 2020-8-2 22:41:18 | 只看该作者
    不错的,学习了!!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-27 13:00 , Processed in 0.064801 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表