首页 > 编程语言 >jmeter发送java请求

jmeter发送java请求

时间:2023-03-08 10:33:56浏览次数:37  
标签:java arg0 sr 发送 import jmeter public

本文描述jmeter如何发送java请求

1.编写java请求,将加密、签名等封装,对外只暴露需要传的业务参数,jemter发送java请求时直接传入业务参数即可

 

 具体代码如下:

import com.alibaba.fastjson.JSONObject;
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;

import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Map;

public class taxfilling_detail extends AbstractJavaSamplerClient {

    private String assetCode;
    private String bankSafeCode;
    private String privateKey;
    private String service;
    private String method;

    @Override
    public Arguments getDefaultParameters() {
        Arguments params = new Arguments();
        params.addArgument("assetCode","");
        params.addArgument("bankSafeCode", "xx");
        params.addArgument("privateKey", "xx");
        params.addArgument("service", "xx");
        params.addArgument("method", xxEnum.xx.getMethod());

        return params;
    }

    @Override
    public void setupTest(JavaSamplerContext arg0) {
        assetCode = arg0.getParameter("assetCode");
        bankSafeCode = arg0.getParameter("bankSafeCode");
        privateKey = arg0.getParameter("privateKey");
        service = arg0.getParameter("service");
        method = arg0.getParameter("method");

    }

    @Override
    public void teardownTest(JavaSamplerContext arg0) {

    }

    @Override
    public SampleResult runTest(JavaSamplerContext arg0) {
        SampleResult sr = new SampleResult();
        try {
            sr.sampleStart();
            sr.setSamplerData(detail().toString());
            sr.setResponseData(send_detail().toString(), "");
            sr.setDataType(SampleResult.TEXT);
            sr.setSuccessful(true);
        } catch (Throwable e) {
            sr.setSuccessful(false);
            e.printStackTrace();
        }finally {
            sr.sampleEnd();
        }
        return sr;
    }

    // 业务请求参数组装
    public JSONObject detail(){
        JSONObject reqContent = new JSONObject();
        reqContent.put("taxPaymentCode", assetCode);
        return reqContent;

    }

    // 发送业务请求
    public JSONObject send_detail() throws NoSuchAlgorithmException, InvalidKeyException {
        JSONObject content = detail();
        Map<String,String> reqObj = GetRequestDataMap.getRequestDataMap(method,content.toString(),bankSafeCode,privateKey,service);
        content = GetRequestDataMap.service(reqObj);
        return content;

    }
}

 

2.mvn install 生成jar包

 

 

3.将jar包放/.../jmeter/lib/ext/下

 

 

4.打开jmeter,新建一个线程组,线程组下增加"java sample"后,可以看到jar包中的测试类,点击选择一个测试类,下方为请求中的具体参数

 

 

填写参数后发起请求

 

标签:java,arg0,sr,发送,import,jmeter,public
From: https://www.cnblogs.com/jinziguang/p/17191112.html

相关文章

  • Paxos算法理解与java实现
    Paxos在分布式环境下应用非常广泛,是一致性算法里面优越的代表。Google的粗粒度锁服务Chubby的设计开发者Burrows曾经说过:所有一致性协议本质上要么是Paxos要么是其变体。......
  • Java堆分析
    在JVM中,有以下内存区间:堆、永久区、线程栈、直接内存内存溢出(OOM)的原因及解决方法堆溢出原因:占用大量堆空间,直接溢出解决方法:增大堆空间,及时释放内存永久区溢出原因:生成......
  • mybatis异常 java.lang.ClassCastException: com.sun.proxy.$Proxy445
    此类异常处理:java.lang.ClassCastException:com.sun.proxy.$Proxy445cannotbecasttocom.xxx.**MapperBridgeApplication启动类的注解没有扫描到对应的Mapper文......
  • Java开发工具
    吾心安处即吾乡。吾乡何处不可眠1.都有哪些开发Java的工具级别一:文本开发工具级别二:集成开发环境(IntegratedDevelopmentEnvironment,IDE)把代码编写,编译,执行,......
  • JAVA的DigestUtils.md5Hex在php的写法
    php对接java接口时签名校验时,发现php的MD5加密跟java中的DigestUtils.md5Hex加密会不一样,需要统一输出;解决方法如下:/***16进制转string拼接*@paramarra......
  • jmeter报ERROR o.a.j.JMeter: Uncaught exception: java.lang.NoClassDefFoundError:
    有个项目做性能测试,需监测服务器服务,jmeter成功安装插件jmeterjp@gc-PerfMonMetricsCollector,运行脚本报如下错误:ERRORo.a.j.JMeter:Uncaughtexception:java.lan......
  • JavaMail 邮件发送,有意思的附件名乱码 → 客户端正常,web端乱码
    开心一刻昨晚,媳妇很感伤的看着我媳妇:以后岁数大了,我要走你前面去了,你再找个老伴我:我不想找媳妇:你找一个,不用替我守着,以后你说你头疼发烧,也得有个给你......
  • Eclipse报错:Failed toload JavaHL Library解决方法
    Eclipse出现FailedtoloadJavaHLLibrary解决方法               今天打开Eclipse的时候弹窗说FailedtoloadJavaHLLibrary。。。很是纳闷,于是上网......
  • java中根据公网IP获取地址
    packagecom.dashan.utils.iputils;importcom.fasterxml.jackson.databind.ObjectMapper;importokhttp3.OkHttpClient;importokhttp3.Request;importokhttp3.Res......
  • java中获取内网IP
    packagecom.dashan.utils.iputils;importorg.apache.commons.lang.StringUtils;importjavax.servlet.http.HttpServletRequest;importjava.net.InetAddress;impo......