栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jmeter 5.4.1自定义接口性能测试步骤

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jmeter 5.4.1自定义接口性能测试步骤

1. 编写自定义接口测试jar包

采用maven项目进行自定义接口测试的jar包开发,开发工具使用idea。

1.1 创建maven工程

在maven工程中,pom.xml添加相关依赖。


            org.apache.jmeter
            ApacheJMeter_core
            5.0
        
        
            org.apache.jmeter
            ApacheJMeter_java
            5.0
        

添加jar包输出插件


        
            
                com.lazerycode.jmeter
                jmeter-maven-plugin
                2.8.0
                
                    
                        jmeter-tests
                        
                            jmeter
                        
                    
                
            
        
    
1.2 编写测试方法
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;

public class JMeterTestDemo extends AbstractJavaSamplerClient {
	
	private SampleResult results;
    private String testStr;
    
    // 准备测试
    public void setupTest(JavaSamplerContext arg0) {
        results = new SampleResult();
        
        // 获取参数值
        testStr = arg0.getParameter("Parameter1");
        
        if(testStr!=null&&testStr.length()>0){
            results.setSamplerData(testStr);
        }
    }
    
    // 设置默认参数
    public Arguments getDefaultParameters() {
        Arguments params = new Arguments();
        params.addArgument("Parameter1", "aaa");
        return params;
    }
    
    
    @Override
    public SampleResult runTest(JavaSamplerContext arg0) {
        // TODO Auto-generated method stub
        int len = 0;
        // 设置开始时间
        results.sampleStart();
        
        len = testStr.length();
        
        // 设置结束时间
        results.sampleEnd();
        
        // 根据测试结果,设置测试结果信息
        if(len<5){
            System.out.println("String is  "+testStr);
            results.setSuccessful(false);
        }else{
            System.out.println("String is  "+testStr);
            results.setSuccessful(true);
        }
        
        // 返回结果信息
        return results;
    }
    
    public void teardownTest(JavaSamplerContext arg0) {
    	
    }
}

其中setupTest方法,可以进行测试的准备,比如进行相关的初始化;

runTest方法用于执行实际的测试任务;

teardownTest方法用于测试结束时的处理;

 将测试项目打包成jar包。

2. 将jar添加到jmeter的lib/ext目录下

将前一步生成的jar包放到jmeter的lib/ext目录下,这样测试计划执行的时候,jmeter会自动加载lib/ext目录下的jar包,这样就可以调用自定义的接口了。

3. 编写测试计划

编写测试计划一般通过jmeter提供的图形用户界面进行编写。

3.1 编写测试计划

测试计划一般包括线程组和需要测试的接口对应的采样器(sampler -> http request)。

首先是添加线程组。

在线程组下面,添加采样器(Sampler),如果是测试http接口,可以选择http request.

如果需要获取接口返回的参数,可以添加提取器,如果返回数据格式为json,则可以选择json extractor。

查看结果树(View Result Tree)组件用于查看接口发送和返回信息;

聚合报告和汇总报告,用户生成测试数据;

调试采样器(Debug Sampler)用于显示调试输出;

采样器(Sampler)参考配置。

 3.2 调试测试计划

通过选择接口,点击执行按钮,进行单个接口的测试。通过查询结果树以及调试采样器,查看执行结果是否和预期一致。

程序中通过控制台打印输出的调试信息,可以通过黑窗口控制台进行查看。

 如果性能要求不高,可以采用图形界面进行性能测试,设置好线程组的测试参数:

 执行完成后,可以通过测试包括查看测试结果。

4. 执行测试计划

对于并发性能要求高的场景,根据官方的建议,尽量使用命令行方式启动测试计划,这样可以提高执行效率。

如果程序中有调试输出,建议关闭调试输出。

jmeter -n -t TestPlan-v2-presstest.jmx -l test.jtl -e -o result

-n 表示不使用图形界面;

-t 指定测试脚本;

-l 指定测试输出文件;

-e -o 表示测试报告输出以及具体的目录位置。

测试完成后,在result目录中去查看测试结果。

5. 获取测试结果

测试结果在输出目录下。

 通过index.html文件可以查看测试结果。

 通过链接查看各种具体的性能数据报表。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/862316.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号