zoukankan      html  css  js  c++  java
  • jmeter添加自定义扩展函数之String---base64加密

    1,打开eclipse,新建maven工程,在pom中引用jmeter核心jar包,具体请看---https://www.cnblogs.com/guanyf/p/10863033.html---,这里就不再赘述

    2,直接上代码:

      

    package com.mytest.functions;
    
    import java.util.Collection;
    import java.util.LinkedList;
    import java.util.List;
    import org.apache.jmeter.engine.util.CompoundVariable;
    import org.apache.jmeter.functions.AbstractFunction;
    import org.apache.jmeter.functions.InvalidVariableException;
    import org.apache.jmeter.samplers.SampleResult;
    import org.apache.jmeter.samplers.Sampler;
    import org.apache.jmeter.threads.JMeterVariables;
    import sun.misc.BASE64Encoder;
    
    public class Base64 extends AbstractFunction
    {
      private static final List<String> desc = new LinkedList();
      private static final String KEY = "__Base64_string";
      private Object[] values;
    
      public synchronized String execute(SampleResult paramSampleResult, Sampler paramSampler)
        throws InvalidVariableException
      {
        JMeterVariables localJMeterVariables = getVariables();
        String str1 = ((CompoundVariable)this.values[0]).execute();
    
        String str2 = new BASE64Encoder().encode(str1.getBytes());
    
        if ((localJMeterVariables != null) && (this.values.length > 1)) {
          String str3 = ((CompoundVariable)this.values[1]).execute().trim();
          localJMeterVariables.put(str3, str2);
        }
    
        return str2;
      }
    
      public synchronized void setParameters(Collection<CompoundVariable> paramCollection)
        throws InvalidVariableException
      {
        checkMinParameterCount(paramCollection, 1);
        this.values = paramCollection.toArray();
      }
    
      public String getReferenceKey()
      {
        return "__Base64_string";
      }
    
      public List<String> getArgumentDesc()
      {
        return desc;
      }
    
      static
      {
        desc.add("String to calculate Base64 hash ");
        desc.add("Name of variable in which to store the result (optional),作者:guanyf");
      }
    }

    3,打包 jar ,放入指定位置就可以马上使用

  • 相关阅读:
    Centos7下rc.local文件开机不执行…
    Centos7添加密码安全策略
    Java8 时间日期类操作
    XML配置spring session jdbc实现session共享
    Spring Boot 2.x以后static下面的静态资源被拦截
    外观模式
    组合设计模式
    Java线程池源码解析
    观察者模式
    Java使用POI解析Excel表格
  • 原文地址:https://www.cnblogs.com/guanyf/p/10912066.html
Copyright © 2011-2022 走看看