前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用Jmeter测试java请求

使用Jmeter测试java请求

作者头像
jmeter技术研究
发布于 2019-10-19 03:54:59
发布于 2019-10-19 03:54:59
2K00
代码可运行
举报
运行总次数:0
代码可运行

1、性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能测试,但是需要自己开发、打包好要测试的代码,就能在Java请求中对该java方法进行性能测试 2、本文举的例子是Java实现通过传入两个参数,将值写入到文件中

  • 开发思路 1、使用Eclipse创建Maven 项目,配置Pom文件,引入Jmeter开发Java请求所需的依赖包; 2、创建输入参数类,和测试类,然后继承JavaSamplerClient,实现四个主方法; 3、对编写好的项目进行编译、打包 4、把打包好的函数放到jmeter扩展目录,调用Java请求,对封装的Java方法进行测试;

JDK环境

Jmeter依赖包版本

Maven仓库版本

1.8

4.0

3.5.3

一、新建Maven项目

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. File》New》Project,选择Maven》Maven Project,一直点击Next
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2. 配置Pom文件,Pom文件配置的Jmeter4.0版本,只要保存了Pom文件,系统就会自动下载和关联相应的jar包,Pom配置文件如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
3. 保存Pom文件之后,系统会自动下载关联的依赖文件,会用到的为ApacheJMeter_core-4.0.jar和ApacheJMeter_java-4.0.jar如下图:

保存前:

保存后:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
4. 此时,由于对pom文件进行了修改,项目顶层会出现一把×,并且编译可能就会报错,需要执行Maven》Update Project更新外部依赖的Jar包

更新前:

更新后,编译、打包正常:

二、编写输入参数类、测试类

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1.  输入参数类,该类就是被测试的java方法,主要是实现将参数写入到文件,代码如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2.  测试类,首先在com.xiet.Java_Sample包下创建一个类,类名为Jmeter_Test,需要继承JavaSamplerClient类,然后实现父类的四个方法,和一个main方法

main主方法主要是用来本地调试,用来测试封装的Java方法是否功能正常,如果能实现正常功能,就可以进行编译、打包在Jmeter中进行调用

setupTest方法为初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行,默认置空即可

runTest方法为测试方法,该方法用来传入输入的参数,然后调用参数类,进行测试

teardownTest方法为结束方法,实际运行时每个线程仅执行一次,在测试方法结束后执行,默认置空即可

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
3. getDefaultParameters方法为设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中,如下所示:

三、编译、打包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. 编写代码完成,就可以进行编译、打包操作了,右键点击项目》Run As》Maven build
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2. 在Goals中输入package,然后点击Apply》Run执行编译,打包操作
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
3. 编译打包完成,在target目录会生成一个jar包,如下图所示

四、验证开发的函数是否正常

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. 首先把Java_Sample_0.1.jar函数放到jmeter的\lib\ext目录
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2. 然后启动Jmeter,线程组》添加》Sample》Java请求
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
3. 在类名称中选择封装的Java类,为com.xiet.Java_Sample.Jmeter_Test,该类名称为包名+类名
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
4. 本次设置2线程,2循环,点击执行按钮,执行结果如下:

完整源码如下

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 jmeter相关技术交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
使用 JS 来动态操作 css ,你知道几种方法?
JavaScript 可以说是交互之王,它作为脚本语言加上许多 Web Api 进一步扩展了它的特性集,更加丰富界面交互的可操作性。这类 API 的例子包括WebGL API、Canvas API、DOM API,还有一组不太为人所知的 CSS API。
前端小智@大迁世界
2022/06/15
2K0
使用 JS 来动态操作 css ,你知道几种方法?
JavaScript DOM操作表格及样式
一.操作表格 <table>标签是HTML中结构最为复杂的一个,可以通过DOM来创建生成它(比较麻烦),或者HTML DOM来操作它。 //需要操作的table <table border="1" width="300"> <caption>人员表</caption> <thead> <tr> <th>姓名</th> <th>性别</th> <th>年龄</th> </tr> </thead> <tbody> <tr> <td>汤高</td> <td>男</td> <td>20</td> </tr> <tr
汤高
2018/01/11
3.7K0
JS它DOM
DOM:document object model。文档对象模型。它主要由许多节点。而基于JS对象的一切视角,DOM核心是节点对象和操作方法的属性。从下面三方面来介绍DOM。
全栈程序员站长
2022/07/06
3.3K0
JS它DOM
【CSS】398- 原生JS实现DOM爆炸效果
此次分享是一次自我组件开发的总结,还是有很多不足之处,望各位大大多提宝贵意见,互相学习交流。
pingan8787
2019/11/05
3.5K0
简单说 通过JS控制CSS的各种方式(上)
版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。 https://blog.csdn.net/FE_dev/article/details/77888446
FEWY
2019/05/26
4.9K1
Vue-transition组件的Css动画+过渡(1)入门,笔记总结 “建议收藏”
这里说一下transition: property duration timing-function delay; 一共有四个参数可选;
玖柒的小窝
2021/09/29
1.5K0
JS设置CSS样式的几种方式
如果属性有'-'号,就写成驼峰的形式(如textAlign)  如果想保留 - 号,就中括号的形式  element.style['text-align'] = '100px';
书童小二
2018/09/03
9.8K0
原生JS设置CSS样式的几种方式
如果属性有'-'号,就写成驼峰的形式(如textAlign)  如果想保留 - 号,就中括号的形式  element.style['text-align'] = '100px';
德顺
2019/11/13
23.9K0
原生JS设置CSS样式的几种方式
js动画和css动画_js文件怎么引入html
在做页面中,多数情况下都会遇到页面上做动画效果,我们大部分做动画的时候都是使用框架来做(比如jquery),这里我介绍下如何让通过原生的js来实现像框架一样的动画效果!
全栈程序员站长
2022/11/04
22.6K0
05-老马jQuery教程-动画
根据文章内容总结摘要。
老马
2017/12/27
2.1K0
第73天:jQuery基本动画总结
var btn = document.getElementById(“bt n”);
半指温柔乐
2018/09/11
3.4K0
05-老马jQuery教程-动画
根据文章内容总结摘要。
老马
2018/01/05
2.1K0
Web高性能动画及渲染原理(1)CSS动画和JS动画
Web动画的本质是元素状态改变造成的样式变更,CSS动画和JS动画的区别并不是由语言来决定的,而是由两者的特点和适用场景来判断的。CSS动画简洁高效,提升交互体验而编写的代码可以轻松地和主要业务逻辑之间实现隔离,开发中建议优先使用;而当你需要更丰富的缓动函数,多对象关联动画或是需要在动画执行的特定时间点关联一些其他的业务逻辑等需要细节控制的场景中,JS动画就会显得更加清晰且易维护,两者从来都不是非黑即白的选项。
大史不说话
2019/10/16
7.7K0
Web高性能动画及渲染原理(1)CSS动画和JS动画
JavaScript 动态加载脚本和样式
3大点: 1.元素位置 2.动态脚本 3.动态样式 一.元素位置 getBoundingClientRect()。这个方法返回一个矩形对象,包含四个属性:left、top、right和bottom。分别表示元素各边与页面上边和左边的距离。 var box = document.getElementById('box');//获取元素 alert(box.getBoundingClientRect().top);//元素上边距离页面上边的距离 alert(box.getBoundingClientRect()
汤高
2018/01/11
1.4K0
【CSS进阶】原生JS getComputedStyle等方法解析
最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美。 其结构明晰,高内聚、低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷、渐进增强)优雅的处理能力以及 Ajax 等方面周到而强大的定制功能无不令人惊叹。 另外,阅读源码让我接触到了大量底层的知识。对原生JS 、框架设计、代码优化有了全新的认识,接下来将会写一系列关于 jQuery 解析的文章。 我在 github 上关于 jQuery 源码的全文注解,感兴趣的可以围观一下。jQuer
Sb_Coco
2018/05/28
1.6K0
js animate动画基础
    js运动是我们学习js必不可少的研究部分,首先我们要知道js的运动其实仅仅是不断改变元素的某个属性值而已,比如不断改变一个绝对定位div的left值,那么你看到的效果就是这个div不断的向右边运动,那么运动的原理就是这样。
不愿意做鱼的小鲸鱼
2022/08/23
6.9K0
js animate动画基础
「Web Animation API 专题」纯手工撸一个图片随机移动的动画
当我们谈及网页动画时,自然联想到的是 CSS3 动画、JS 动画、SVG 动画 等技术以及 jQuery.animate() 等动画封装库,根据实际动画内容设计去选择不同的实现方式,然而,每个现行的动画技术都存在一定的缺点,如 CSS3动画必须通过JS去获取动态改变的值,一个动画效果分散在css文件和js文件里不好维护,setInterval 的时间往往是不精确的而且还会卡顿,引入额外的动画封装库也并非对性能敏感的业务适用。
前端达人
2019/07/31
1.8K0
「Web Animation API 专题」纯手工撸一个图片随机移动的动画
Angular2 之 Animations
Angular2的动画系统赋予了制作各种动画效果的能力,致力于构建出与原生CSS动画性能相同的动画。 Angular2的动画主要是和@Component结合在了一起。 animations元数据属性在定义@Component装饰。就像template元数据属性!这样就可以让动画逻辑与其应用代码紧紧集成在一起,这让动画可以更容易的出发与控制。 使用要点 Angular2的动画是使用<u>模型驱动</u>的方式在两个状态之间进行转换,是由状态和状态之间的转场效果所定义的。 动画被定义在@Compone
贺贺V5
2018/08/21
2K0
Angular2 之 Animations
「Web Animation API 专题」用原生JS制作一个图片随机移动的动画
当我们谈及网页动画时,自然联想到的是 CSS3 动画、JS 动画、SVG 动画 等技术以及 jQuery.animate() 等动画封装库,根据实际动画内容设计去选择不同的实现方式,然而,每个现行的动画技术都存在一定的缺点,如 CSS3动画必须通过JS去获取动态改变的值,一个动画效果分散在css文件和js文件里不好维护,setInterval 的时间往往是不精确的而且还会卡顿,引入额外的动画封装库也并非对性能敏感的业务适用。
前端达人
2019/08/02
4K0
「Web Animation API 专题」用原生JS制作一个图片随机移动的动画
分享 | 前端性能优化(CSS动画篇)
最近拜读了一下html5rocks上几位大神写的一篇关于CSS3动画性能优化的文章,学到了很多,在这里记录一下,其中的知识都是来源于这俩篇文章,我只是截取了其中比较关注的内容出来,原文地址High Performance Animations及Accelerated Rendering in Chrome
疯狂的技术宅
2019/03/28
2K0
推荐阅读
相关推荐
使用 JS 来动态操作 css ,你知道几种方法?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验