jmeter添加自定义扩展函数之Strng---base64解密

Posted guanyf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter添加自定义扩展函数之Strng---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 Base64DecodeString 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");
  }
}

 

以上是关于jmeter添加自定义扩展函数之Strng---base64解密的主要内容,如果未能解决你的问题,请参考以下文章

性能工具之Jmeter扩展函数及压测ActiveMQ实践

扩展JMeter - 创建自定义函数 - String Joiner (翻译)

如何高效开发jmeter自定义函数

Jmeter——元件扩展,使其功能更全面

Jmeter3.0在函数助手中添加自定义函数

Jmeter之逻辑控制器