jmeter 对报文进行Base64加解密心得。

       业务需求是,对接口进行测试,但需要对报文进行加密,对返回的密文进行解密。

       遇到的问题:接口传的报文字段,因为没有加密,所以报错,报请求报文为空。

            第二个问题,对返回的数据的进行解密时,不清楚如何运用返回的数据,其中beanshell中,

  • prev - (SampleResult):获取前面的sample返回的信息,常用方法:

    a) getResponseDataAsString():获取响应信息

    b) getResponseCode() :获取响应code

第三个问题,对请求的报文进行加密后,要知道引用变量,

vars - (JMeterVariables):操作jmeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,常用方法:

a) vars.get(String key):从jmeter中获得变量值

b) vars.put(String key,String value):数据存到jmeter变量中

引用变量${变量名称}

第四个问题导入jar包, 导入jar包本人知道有两种,一种是

另一种是进入jmeter的\lib\ext目录下,放入。

下面进行实际操作部分

1.需要导入相应的java包,我用的第一种方式,直接在jmeter中导入

2.创建线程组

3.建立http请求,

4.接下来需要建立前置处理器,前置处理器运行在http请求之前,但切记在http请求下面进行添加

import com.vbao.service.trade.VbaoChargeSystemHandler;
import com.vbao.service.trade.bean.request.SingleDFRequest;
import com.vbao.service.trade.bean.request.TradeRequestXml;
/** 1.字符集UTF-8 固定值不变 */
        String InputCharset = "UTF-8";
        /** 2.微保分配的商户号(生产会变) */
        String customerNo = "201907020001";
        /** 3.微保分配的商户密钥(生产会变) */
        String key = "uTRF3mE1G8rHBekX7K4y";
        /** 4.商户的商品代码(生产会变) */
        String goodNo = "TYZXCS";
        SingleDFRequest singleDFRequest = new SingleDFRequest();
        singleDFRequest.setVersion("6.0");
        singleDFRequest.setSignType("MD5");
        singleDFRequest.setInputCharset(InputCharset);
        singleDFRequest.setCustomerNo(customerNo);
        singleDFRequest.setGoodNo(goodNo);
        singleDFRequest.setActName("企业账户");
        singleDFRequest.setActId("2333222222");
        singleDFRequest.setActLineCode("373737373737");
        singleDFRequest.setOrderNo("155497874566859");
        singleDFRequest.setOrderAmount("0.01");
        singleDFRequest.setAccType("0");
        singleDFRequest.setBankCardType("0");
        singleDFRequest.setBankCode("ICBC");
        singleDFRequest.setBankCardNo("");
        singleDFRequest.setBankCardName("");
        singleDFRequest.setCertType("0");
        singleDFRequest.setCertId("123456789098765");
        singleDFRequest.setMobile("18612252227");
        singleDFRequest.setCreditValid("");
        singleDFRequest.setCreditCvv2("");
        singleDFRequest.setBankProvince("");
        singleDFRequest.setBankCity("");
        singleDFRequest.setBankLineCode("");
        singleDFRequest.setBankName("银行名称");
        singleDFRequest.setProductName("摘要信息");
        singleDFRequest.setProtocolNo("");
        singleDFRequest.setProductDesc("描述");
        singleDFRequest.setNotifyUrl("");
        singleDFRequest.setExt1("备注1");
        singleDFRequest.setExt2("备注2");

// 分支结构和销售渠道
        singleDFRequest.setBranch1("bran1");
        singleDFRequest.setBranch2("二级分支机构");
        singleDFRequest.setBranch3("三级分支机构");
        singleDFRequest.setSalesChannel("aa");

VbaoChargeSystemHandler vbaoChargeSystemHandler = new VbaoChargeSystemHandler();
       // 组装发送报文
        TradeRequestXml tradeRequestXml = vbaoChargeSystemHandler.creatRequestXml(singleDFRequest, key, InputCharset, "1101");
          String a=tradeRequestXml.getRequestXml();
          vars.put("a",a);
            System.out.println("发送密文报文:" + tradeRequestXml.getRequestXml());
            log.info(a);

在这用beanshell添加变量,然后再请求引用这个字段。

最后弄解密的,在后置处理器里面建立beanshell

添加查看结果数,就成功了。

Jmeter接口请求Base64加解密相关推荐

  1. SpringBoot中如何灵活的实现接口数据的加解密功能?

    数据是企业的第四张名片,企业级开发中少不了数据的加密传输,所以本文介绍下SpringBoot中接口数据加密.解密的方式. 本文目录 一.加密方案介绍二.实现原理三.实战四.测试五.踩到的坑 一.加密方 ...

  2. Postman-APP登入模拟请求-数据加解密

    Postman-APP登入模拟请求-数据加解密 简单说明一下 对于Postman的使用,一般情况下只要发发确定的请求与参数就可以的了.这个大家都会的 ,灰常的简单. 然而,在使用的时候,尤其是接口测试 ...

  3. boot数据加解密 spring_SpringBoot实现接口数据的加解密功能

    一.加密方案介绍 对接口的加密解密操作主要有下面两种方式: 自定义消息转换器 优势:仅需实现接口,配置简单. 劣势:仅能对同一类型的MediaType进行加解密操作,不灵活. 使用spring提供的接 ...

  4. Flex中的Base64加解密

    Flex中的Base64加解密 Flex sdk3就内置了Base64的加/解密工具类 分别是 mx.utils.Base64Encoder mx.utils.Base64Decoder Base64 ...

  5. java base64 加解密_java Base64加解密

    import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Base64Util { public stati ...

  6. linux下C++base64加解密与图片互转

    最近由于工作需要,需要处理由http传来的base64图片数据,特此做下记录也希望能帮到更多的朋友. 部分内容参考Andy____Li 的blog: https://blog.csdn.net/m0_ ...

  7. java实现加密———Base64加解密

    java实现Base64加解密 @Testpublic void test01() throws Exception {String name = "LuWenMenHu";Str ...

  8. PB实现BASE64加解密

    文章目录 实例 文本加解密 文件加解密 源代码 实例 文本加解密 1.加密文本:PB实现BASE64加解密 得到的密文为:UELlrp7njrBCQVNFNjTliqDop6Plr4Y= 2.解密文本 ...

  9. Spring Boot 接口参数自动加解密

    本文标题:Spring Boot 接口参数自动加解密 原始链接: https://www.shuibo.cn/102.html 许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链 ...

最新文章

  1. 使用微信开发者工具创建小程序项目
  2. 傅里叶变换的初级理解二
  3. 写给粪坑里的钻石——烂公司里的好员工
  4. 使用c#操作IBM WebSphere MQ
  5. 恒压板框过滤实验数据处理_高考化学实验中:那些不常见的【特殊仪器】与装置,难得的资料...
  6. 匿名内部类属于局部内部类吗_内部类详解————匿名内部类
  7. MySQL深度剖析之数据在磁盘上存储(2021)
  8. 关于MultiActionController异步Ajax,post;
  9. 阿酷三合一版_【3DMAX阿酷下载】3DMAX阿酷插件 v3.2 最终版-开心电玩
  10. 来电时不会发送本地通知
  11. 电脑重启bootmgr_电脑出现bootmgr is missing怎么办
  12. Microsoft SQL Server 2000 Service Pack 3a
  13. 作为一个面试官,我会这样问问题——面试攻略之见招拆招
  14. 想要搭建建基于Nodejs的网站怎么做
  15. BJDCTF2nd部分题目复现
  16. 解决simnow客户端登录报CTP:客户端认证失败
  17. Java高级开发0-1项目实战-青鸟商城-Day03
  18. 计算机专业想跨考经济学研究生,考研跨考:计算机专业跨考人大经济学复习经验谈...
  19. 电解电容的耐压选择:
  20. 多层级部门结构展示与分级汇总

热门文章

  1. saas架构理解与设计
  2. 虾皮运营技巧(详解)
  3. svn commit svn: E170001: Authorization failed
  4. 气动调节阀的结构特点
  5. nyoj 304 节能 【区间dp】
  6. JSP通过JDBC连接mysql数据库
  7. Ripple Labs和R3联盟在XRP代币诉讼中达成和解
  8. 计算机安全问题所造成的影响 既包括,安全与技术的关系-②电子商务安全与计算机网络安全之间有什么关系?②电子商务安全与计 爱问知识人...
  9. MSP430程序库九数码管显示
  10. 金融工程会用哪些计算机知识,金融工程专业对计算机的能力要求到底是什么