Jmeter之性能测试01

本文详细介绍了如何在JMeter中进行性能测试,包括添加pom依赖、配置JMeter工作环境、编写继承自AbstractJavaSamplerClient的测试案例,以及如何执行、分析测试结果。
摘要由CSDN通过智能技术生成

Jmeter性能测试心得

一、Jmeter的pom依赖

    <dependency>
        <groupId>org.apache.jmeter</groupId>
        <artifactId>ApacheJMeter_core</artifactId>
        <version>5.4.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.jmeter</groupId>
        <artifactId>ApacheJMeter_java</artifactId>
        <version>5.4.1</version>
    </dependency>

环境配置:

配置jmeter工作环境

方式:安装jdk并配置环境变量

1)安装jdk,要求是1.8级以上版本

在安装jdk的过程中,记得把路径复制一份,方便后面使用。

2)配置jdk的系统环境变量:

a》java_home:jdk的安装路径,(需要新建)

b》path:增加jdk的工作目录bin ( %java_home%\bin; )
(只需编辑,往里添加工作路径)

3)验证:

A、在dos中输入命令:javac,显示javac命令的格式及选项

B、启动bin目录中jmeter.bat能正常打开。

二、测试案例示例

1.需要继承AbstractJavaSamplerClient类

2.重写3个方法:getDefaultParameters,setupTest,runTest

其中getDefaultParameters,这个方法里所有的参数,都可以在jmeter的C端进行编辑

setupTest方法类似单元测试的beforeMethod,进行一些初始化的动作

runTest是实际的测试用例

在runTest里,有2个方法需要注意

sr.sampleStart();// jmeter 开始统计响应时间标记

sr.sampleEnd();// jmeter 结束统计响应时间标记

sr.setResponseData(JSONObject.toJSONString(respDTO), null); //将结果输出到结果树当中

sr.setDataType(SampleResult.TEXT); //请求头中会多个类型输出

sr.setSuccessful(true);//测试结果,可以做断言

public class GetConsultStatisticsInfoOldPerf extends AbstractJavaSamplerClient {

    @Override
    public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
        String doctorMobile = "18888888888";
        String password = "18888888888";
        String token = null;
        String tokenName = "X-MOBILE-Token";
        String loginUserId = "X-MOBILE-LoginUserId";
        String applicationId = "X-MOBILE-ApplicationId";
        String versionCode = "X-MOBILE-VersionCode";
        String userId = "210000000000000";
        String appId = "5";
        String code = "70010";
        UserLogin userLogin = new UserLogin();
        SampleResult sampleResult = new SampleResult();
        try {
            token = userLogin.getDoctorLoginToken(doctorMobile, password).getToken();
        } catch (Exception e) {
            e.printStackTrace();
        }
        String url = "http://10.19.124.136:8080/workStageQueueApi/getConsultStatisticsInfo";
        String body = "{\"type\":\"old\"}";
        try {
            sampleResult.sampleStart();//jmeter 开始统计响应时间标记
            JSONObject result = HttpClientUtil.sendPostHeaderBodyToken(url,body,token,tokenName,userId,loginUserId,appId,applicationId,code,versionCode);
            sampleResult.sampleEnd();//jmeter 结束统计响应时间标记
            sampleResult.setSampleLabel("getConsultStatisticsInfo");
            sampleResult.setResponseData(result.toJSONString(), null);  //将结果输出到结果树当中
            sampleResult.setDataType(SampleResult.TEXT);
            if(result.get("content")!=null){
                sampleResult.setSuccessful(true);
            }else {
                sampleResult.setSuccessful(false);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return sampleResult;
    }

3.用例写完之后,将工程打包

4.将打完的jar包,放到jmeter工具的lib/ext目录下,(就只需要1个jar,覆盖就行)

5.打开jmeter,创建一个java请求,可以选择刚才自己编辑的类名和方法

6.通过查看结果树看结果,通过聚合报告看响应时间,tps等

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值