zoukankan      html  css  js  c++  java
  • JmeterBeanshell处理器引用第三方Jar包

    新建Maven工程

    • 第一步:配置好JDK,新建工程

    • 第二步:配置工程名字、存放路径及包名

    • 第三步:配置maven及其配置文件的路径,完成新建

    编写Java代码

    以MD5及SHA256加密算法为例;特别注意的一点不能缺少main方法,否则此class文件无法用于生成jar包

    package org.example;
    
    import java.io.UnsupportedEncodingException;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.math.BigInteger;
    
    public class Tool {
        public static String md5(String plainText) {
            byte[] secretBytes = null;
            try {
                secretBytes = MessageDigest.getInstance("md5").digest(
                        plainText.getBytes());
            } catch (NoSuchAlgorithmException e) {
                throw new RuntimeException("没有md5这个算法!");
            }
            String md5code = new BigInteger(1, secretBytes).toString(16);// 16进制数字
            // 如果生成数字未满32位,需要前面补0
            for (int i = 0; i < 32 - md5code.length(); i++) {
                md5code = "0" + md5code;
            }
            return md5code;
        }
    
        public static String getSHA256StrJava(String str) {
            MessageDigest messageDigest;
            String encodeStr = "";
            try {
                messageDigest = MessageDigest.getInstance("SHA-256");
                messageDigest.update(str.getBytes("UTF-8"));
                encodeStr = byte2Hex(messageDigest.digest());
            } catch (NoSuchAlgorithmException e) {
                e.printStackTrace();
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            return encodeStr;
        }
    
        private static String byte2Hex(byte[] bytes) {
            StringBuffer stringBuffer = new StringBuffer();
            String temp = null;
            for (int i = 0; i < bytes.length; i++) {
                temp = Integer.toHexString(bytes[i] & 0xFF);
                if (temp.length() == 1) {
                    //1得到一位的进行补0操作
                    stringBuffer.append("0");
                }
                stringBuffer.append(temp);
            }
            return stringBuffer.toString();
        }
    
        public static void main(String[] args) {
        }
    
    
    }
    
    

    打包生成Jar包

    • 第一步:通过File->Project Structure进行打包

    • 第二步:选择要对应的class文件

    • 第三步:设置生成Jar包的存放路径

    • 第四步:通过Build->Build Artifacts生成Jar包

    Beanshell脚本引用Jar包

    • 第一步:把生成的Jar放到Jmeter下的lib目录中去

    • 第二步:Jmeter中添加Beanshell处理器,并引用Jar中对应的方法

      import org.example.*;
      
      String passwd = "Test1234";
      String sha256_passwd = Tool.getSHA256StrJava(passwd);
      String md5_passwd = Tool.md5(passwd);
      log.info(sha256_passwd);
      log.info(md5_passwd);
      vars.put("sha256",sha256_passwd);     //将sha256加密后的值放入sha256变量中供Jmeter使用
      vars.put("md5",md5_passwd);           //将md5加密后的值放入md5变量中供Jmeter使用
      

    • 第三步:通过添加debug取样器验证输出的值

  • 相关阅读:
    OFDM系统中频域同步技术及FPGA实现
    SystemVerilog的挑战和机遇
    基础知识要牢固..复习复习,再复习
    样式在.net下测试不成功.附解决办法
    学习.net2.0的网站
    08年又快结束了..抱怨下!~
    今天去面试.net开发,感想
    在b/s开发中经常用到的javaScript技术
    淘宝"新版"首页
    Ajax技术简单入门
  • 原文地址:https://www.cnblogs.com/91parson/p/15605753.html
Copyright © 2011-2022 走看看