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

  • 相关阅读:
    E. Paired Payment 题解(多维最短路)
    九峰与子序列 题解(dp+hash)
    魏迟燕的自走棋 题解(并查集+思维)
    unix学习资料
    Tomcat > Cannot create a server using the selected type
    myeclipse使用hibernate正向工程和逆向工程
    jira的破解
    jsp:useBean用法
    java一个多线程的经典例子
    head first系列PDF资源
  • 原文地址:https://www.cnblogs.com/guanyf/p/10912066.html
Copyright © 2020-2023  润新知