zoukankan      html  css  js  c++  java
  • 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");
      }
    }
  • 相关阅读:
    [转] When to use what language and why
    C++常用的函数,好的博客文章整理,集锦
    生活2013
    转-什么样的公司才是好公司?好公司的六大特征
    Linux上去掉ps grep自身查询
    Centos 上搭建FTP服务
    IOS上VOIP PUSH Notification功能
    Linux下常用命令集合
    NodeJS React 开发环境搭建
    MongoDB 命令行导入导出JSON文件
  • 原文地址:https://www.cnblogs.com/guanyf/p/10912099.html
Copyright © 2011-2022 走看看