原标题:松勤软件性能测试-自定义编写的Java测试代码在Jmeter中如何使用

我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java Vuser"等协议。同样,Jmeter也支持自定义编写的测试代码,不过与LoadRunner不同的是,Jmeter没有自带编译器,需要借助第三方编译器才能实现。下面举一个简单的Java自定义测试代码例子,使用Java编译器编写测试代码(Java编译器可以用Eclipse,JBulider等),实现功能为:判断输入的数字是否等于你指定的数,如果等于,则返回成功,如果小于,则提示该输入数字太小,如果大于,则提示该数字太大,如果不为数字,提示输入数字。然后在放到Jmeter中模拟10个用户测试,同时运行这段代码,具体实现如下:

一、开始编写前的准备

1、打开Java编译器,新建一个项目TestNumber,然后新建一个包test。

2、从Jmeter的安装目录lib/ext中拷贝两个文件ApacheJMeter_core.jar和ApacheJMeter_java.jar到TestNumber项目中,然后引入这两个JAR包。

3、在test包中新建一个类,类名为TestNum,该类继承AbstractJavaSamplerClient类,AbstractJavaSamplerClient存在于ApacheJMeter_java.jar这个JAR包中,引用即可调用。

4、TestNum类在继承AbstractJavaSamplerClient类的时候,需要实现四个方法,分别是:

setupTest():初始化方法,用于初始化性能测试时的每个线程;

getDefaultParameters():主要用于设置传入的参数;

runTest():为性能测试时的线程运行体;

teardownTest():测试结束方法,用于结束性能测试中的每个线程。

二、具体的代码实现

三、Jmeter运行分析

1、将上述代码打包成jar包,生成的包名称为TestNumber.jar,将jar包拷贝到Jmeter的安装目录lib/ext下面。

2、运行Jmeter,添加线程组及java请求,显示如下:

其中,inNum为我们输入的值,因为需要用到多个用户,避免填写的麻烦,我们用随机数函数来随机抽取数字验证,resultNum为匹配的结果。

3、添加监听器,这里我们添加查看结果树和聚合报告就好。

4、结果显示如下图:

查看结果树:

我们可以看到,10个请求中,有一个请求回答正确,响应数据对应了我们的代码,表示执行成功。

聚合报告:

可以看到如上信息,请求用户为10个,因为我们的代码基本上没有任何含义,执行速度很快,所以其他值基本为0。

通过上面的例子我们可以发现,使用Jmeter自定义Java测试代码,配合Jmeter自带的函数,就可以实现出LoadRunner中"Java Vuser"协议的绝大多数功能,而且是没有用户数限制和完全免费的。上面的例子只是一个简单的Jmeter测试代码示例,用于抛砖引玉,大家可以登陆松勤网,里面会分享很多软件测试基础、自动化、性能、接口等纯技术干货和免费资料,供大家一起交流,共同进步。返回搜狐,查看更多

责任编辑:

jmeter之java代码性能测试_松勤软件性能测试-自定义编写的Java测试代码在Jmeter中如何使用...相关推荐

  1. 调整jmeter5内存_松勤软件性能测试-修改JMeter内存以适应更高的并发测试

    原标题:松勤软件性能测试-修改JMeter内存以适应更高的并发测试 Jmeter做并发测试时,报错 java.lang.OutOfMemoryError:gc overhead limit excee ...

  2. jmeter 图片上传不上去_松勤软件性能测试-教你如何利用jmeter上传视频图片附件...

    原标题:松勤软件性能测试-教你如何利用jmeter上传视频图片附件 http上传附件一般用的Content-Type: multipart/form-data;文中是先通过fiddler抓取手机端的请 ...

  3. python鼠标右键检测按钮_松勤软件自动化测试-如何将一个Python脚本加入Windows右键菜单...

    原标题:松勤软件自动化测试-如何将一个Python脚本加入Windows右键菜单 一.背景 因为APP的日志都是经过加密处理了,所以每次如果要分析日志的话,得先将加密的日志文件进行解密. 而解密的脚本 ...

  4. 软件测试webtours飞机票bug档案,【松勤软件性能测试】Web Tours无法打开,怎么办?...

    1.开始->所有程序->HP LoadRunner -> Samples->Web->Start Web Server弹出如下提示框,点击Setup 2.HP LoadR ...

  5. 实战演示:使用Python编写人脸识别测试代码,让你的应用拥有智能感知能力

    人脸识别是计算机视觉领域的一个重要应用.它使用计算机算法来识别和验证面部特征,通常用于安全认证.视频监控.人脸比对等方面.近年来,随着深度学习技术的发展,人脸识别的性能得到了极大的提升,成为了智能感知 ...

  6. java 编写代码_如果您在2016年编写过Java代码-这是您不容错过的趋势

    java 编写代码 2016年最有趣的Java相关主题 关于代码,有很多热门话题,而要跟上所有事情,这是一项全职的工作. 如果您想知道如何从谷壳中分离出小麦,我们已经为您完成了工作. 在下面的文章中, ...

  7. java面试题_阿里大厂流出的数百道 Java 经典面试题

    BAT 常问的 Java基础39道常见面试题 1.八种基本数据类型的大小,以及他们的封装类 2.引用数据类型 3.Switch能否用string做参数 4.equals与==的区别 5.自动装箱,常量 ...

  8. java循环输入_【图文+视频新手也友好】Java一维数组详细讲解(内含练习题答案+详解彩蛋喔~)...

    [新手友好型视频+图文] 全面讲解Java一维数组(内含带答案和讲解的练习题彩蛋喔) 看完即上手!更有详解版练习题来帮你加深印象~~ 一.视频讲解 一维数组详解https://www.zhihu.co ...

  9. java jni编译_从源码编译Android系统的Java类库和JNI动态库的方法

    利用源码编译Android系统Java类库 1.编写Java项目和Android.mk文件 ├── Android.mk └── src └── com └── lhw └── framework └ ...

最新文章

  1. 从java到c_怎样快速的从 Java 转到 C ?
  2. 入选Gartner全球AI魔力象限,阿里云解读AI工程化为什么需具备这三大基础能力?...
  3. 立下“去O”Flag的AWS,悄悄修炼了哪些内功?
  4. log4j 源码解析_log4j1.x设置自动加载log4j.xml
  5. 年前最后一波成绩单,请查收!
  6. imx6 linux编译,IMX6学习记录(3)-LINUX编译
  7. asp.net core集成CAP(分布式事务总线)
  8. Linux下的TCP/IP编程----IO复用及IO复用服务端
  9. Java三大器之过滤器(Filter)的工作原理和代码演示
  10. 兼容IE8以下,获取className节点的元素(document.getElementsByClassName()兼容写法)。
  11. 多种企业常用网管软件介绍及配置说明(带视频)
  12. 解析Power Apps 自动生成的App - 1
  13. MyQQ框架火山SDK
  14. EasyCamera开源摄像机接入海康威视摄像机PS流转ES流
  15. 侏罗纪开发实施工作管理平台
  16. 数显之家快讯:【SHIO世硕心语】一个人成功之前,需要失去五样东西!
  17. 三星D828刷机教程,完全经典版(附图)
  18. Excel(WPS)使用VBA,不打开文件情况下提取其他工作簿数据
  19. 福建盼盼食品有限公司网络营销集团分析报告
  20. Identifying genetic relatives without compromising privacy

热门文章

  1. Python爬虫,微信公众号话题标签内容采集打印PDF输出
  2. Cognex.VisionPro.QuickBuild命名空间下的一些委托方法
  3. 如何在诺基亚NOKIA手机安装JAVA软件程序
  4. 中科大 南大计算机专业哪个好,南京大学与中国科学技术大学的计算机专业哪个好?...
  5. 给最近要离职的朋友一些建议 No.190
  6. 软件性能测试的验收标准,性能测试的几个要点
  7. word只粘贴为文本快捷键设置
  8. vscode 快速安装 platformio IDE
  9. 软件研发公司的招聘实习生的工资会有6000~8000这么高?是骗人的吗?
  10. ec箱式风扇 ec box fan