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 ,放入指定位置就可以马上使用

  • 相关阅读:
    GSM和GPRS的区别
    IP规划和VLSM子网划分例题
    20190806-sed面试题
    yum.rpm一点点
    实验:基于http的yum源
    vim编辑二进制文件
    关于find的-perm
    误删tree命令如何恢复
    删除Linux的依赖库并进入救援模式恢复
    第六天、用户、组、权限、grep
  • 原文地址:https://www.cnblogs.com/guanyf/p/10912066.html
Copyright © 2011-2022 走看看