• 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取样器验证输出的值

  • 相关阅读:
    通过WebRTC实现实时视频通信(三)
    通过WebRTC实现实时视频通信(二)
    通关机器学习,必须掌握的32种算法
    Github如何回退/回滚到某个版本
    Markdown语法与入门
    如何上传代码到github?
    Latex中如何设置字体颜色(3种方式)
    Package CJK Error: Invalid character code. 问题解决方法--xelatex和pdflatex编译的转换
    PyCharm快捷键
    最全PyCharm教程
  • 原文地址:https://www.cnblogs.com/91parson/p/15605753.html
Copyright © 2020-2023  润新知