炒沙作縻终不饱,缕冰文章费工巧。这篇文章主要讲述#yyds干货盘点#如何使用JMeter测试Java程序性能相关的知识,希望能为你提供帮助。
JMeter测试java程序性能有天然优势吗?首先我们应该清楚测试Java程序性能不只是JMeter这款工具可以,其他工具工具或者程序也是可以完成对Java程序性能测试的,比如Loadrunner。那么JMeter对Java程序的性能有天然优势吗?答案是不能说天热优势,只是JMeter在测试Java程序时提供了一些便利,比如提供了Java Sampler。下面对Java Request界面元素做进一步的说明。
- Classname,这个字段时一个下拉框,是必填字段,是为了设定实现了接口JavaSamplerClient的类名
- Sleep_Time,这是个必填字段,设置等待时间,单位是:ms
- Sleep_Mask,这是必填字段, 设置等待时间偏移量,一般为16进制数
- Label,设置标签字段,如果填写将覆盖Name字段
- Response Code, 如果提供了,那么该请求将会被设置为该Response Code
- Response Message, 如果提供了,那么该请求的response message将被设置为提供的文本
- Status,如果设置为"OK",那么状态将为success,否则的话,状态为failed.
- SamplerData,如果设置,那么取样器返回的SampleResult对象的实例为该SamplerData,即取样器的Request对象
- ResultData, 如果设置,那么取样器返回的SampleResult对象的实例为该ResultData,即取样器的Response对象
【#yyds干货盘点#如何使用JMeter测试Java程序性能】
Java Request取样器测试演示首先在测试脚本中设置测试Java Request类为默认的“JavaTest”,以及设置取样器的其他参数如下截图:
然后在线程组中的场景设置保持默认,即1个虚拟用户执行1次循环测试。然后根据测试结果来对应于取样器参数如下图数字标签标示。
- 对应于“Lable”值
- 对应于“ResponseCode”值
- 对应于“ResponseMessage”值
- 对应于“SamplerData”值
- 对应于“ResultData”值
如何测试自己的Java程序以上都是讲解怎么测试Java程序,并且以上案例都是JMeter中自带的class。那么如何在JMeter测试自己或者项目的Java程序才是更具有实际意义的。首先分为如下几部分:
- 在项目代码中编写测试类,然后在测试类中编写一些测试方法比如如下代码:
package com.xx.test;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
public SampleResult runTest(JavaSamplerContext arg0){
}
public void setupTest(JavaSamplerContext ctx1) {}
public void teardownTest(JavaSamplerContext ctx1) {}
- 在项目的Build path中添加一些必要的external libraries,如Apache_JMeter_core.jar 和 Apache_JMeter_java.jar, 这些类都在 JMeter的安装目录的xx/lib/ext下面,具体如下所示:
- 然后导出项目的 jar 包
- 将此jar包放到JMeter的目录 xx/lib/ext下
- 然后打开JMeter中添加Java Rquest取样器,然后就可以找到相关的测试类了,如下图,添加的测试类为com.jason.test.TB1
总结:如上,从Java Request到执行场景细节,然后再到如何一步一步操作进行测试自己的Java代码。如果大家有什么问题,可以评论留言,谢谢。
推荐阅读
- 基于深度强化学习的区域化视觉导航方法
- 你真的懂Redis的5种基本数据结构吗()
- Git SSH Key 生成并添加到github/gitee步骤#yyds干货盘点#
- #yyds干货盘点# FFmpeg[5] - 将视频文件转码成MP4格式(FFmpeg转封装2)
- #yyds干货盘点#Go语言查缺补漏ing Day1
- 丢棋子问题#IT人的升职加薪tips#
- 使用index.php而不是archive.php的WordPress
- WordPress使用functions.php仅在特定页面模板上运行功能
- WordPress-Travelify-标题在博客文章中出现3次