Jmeter扩展组件开发-自定义java请求

使用idea创建一个maven工程


image.png

image.png

输入GroupId和ArtifactId


image.png

image.png

在工程的pom.xml中引入maven依赖 并更新下载依赖包到本地

   <dependencies>
        <dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>ApacheJMeter_core</artifactId>
            <version>3.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>ApacheJMeter_java</artifactId>
            <version>3.2</version>
        </dependency>
    </dependencies>
image.png

在main/java下 创建一个Java类 JavaDemo并实现JavaSamplerClient接口


image.png
image.png

实现JavaSampleClient的方法


image.png

image.png

这里列举一个案例 比如写一个自定义java请求 输入两个字符串 返回两个字符串拼接的结果 代码如下:

import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;

public class JavaDemo implements JavaSamplerClient {
    public void setupTest(JavaSamplerContext javaSamplerContext) {
    }

    public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
        SampleResult result = new SampleResult();
        String str1 = javaSamplerContext.getParameter("String-1");
        String str2 = javaSamplerContext.getParameter("String-2");
        result.setSampleLabel("StringConnnect");//设置java请求的Label名
        result.setSuccessful(true);//告诉查看结果树访问是否成功
        result.setDataType(SampleResult.TEXT);//设置响应结果类型为文本类型
        result.setResponseData(str1 +"---"+ str2, "utf-8");//设置java请求的返回值
        return result;
    }
    public void teardownTest(JavaSamplerContext javaSamplerContext) {

    }
    public Arguments getDefaultParameters() {
        //定义java请求的输入参数
        Arguments params = new Arguments();
        params.addArgument("String-1", "");
        params.addArgument("String-2", "");
        return params;
    }
}

写好之后用maven进行打包 将打包成功后的jmeter-1.0-SNAPSHOT.jar 放入到jmeter目录下的 lib/ext下


image.png
image.png

重启Jmeter 添加自定义Java请求和查看结果数 测试自定义Java请求是否有效


image.png

测试后 能查看到Label和java请求返回值正确 说明自定义Java请求成功


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 使用JMeter做性能测试时,有时Jmeter本身的功能并不能很好的满足实际的需求,这时可能就需要自己来扩展开发了...
    流年逝去sky阅读 5,148评论 5 8
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,165评论 0 4
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,868评论 1 32
  • 阿里巴巴 JAVA 开发手册 1 / 32 Java 开发手册 版本号 制定团队 更新日期 备 注 1.0.0 阿...
    糖宝_阅读 12,280评论 0 5
  • 一. Java基础部分.................................................
    wy_sure阅读 9,282评论 0 11

友情链接更多精彩内容