zoukankan      html  css  js  c++  java
  • Jmeter的BeanShell脚本开发

    一 beanshell的了解

    0 自定义函数的调用

     进行用来调试的组件:Debug Sampler、BeanShell Sampler

    public static void test() {
        String input;
        input = vars.get("aa");
        String output = "hello," + input;
        vars.put("bb", output);
    }
    test();

     代码

    public static void test() {
    String input;
    input = vars.get("aa");
    String output = "hello," + input;
    vars.put("bb", output);
    }
    test();

    1 调用java文件

    通过source关键字进行导入java文件

    有包没包的处理情况相同

     有包路径的java文件

    package fengluo;
    
    public class BeanShellMethod {
    
    		
    	public static String name(String input) {
    		String result = "";
    		result = result + "hello," + input;
    		
    		return result;
    	}
    	
    
    }
    

      

    没有包路径的java文件

    public class BeanShellMethod2 {
    
            
        public static String name(String input) {
            String result = "";
            result = result + "hello," + input;
            
            return result;
        }
        
    
    }

     

     代码

    source("F:\@0601____project____jmeter\BeanShellMethod.java");
    String input = vars.get("aa");
    //String output = new BeanShellMethod().name(input);
    String output = BeanShellMethod.name(input);
    vars.put("dd", output);

    2 调用class文件

     

     代码

    addClassPath("F:/@0601____project____jmeter");
    //from fengluo import BeanShellMethod;
    import fengluo.BeanShellMethod;
    //import BeanShellMethod2;

    String input = vars.get("aa");
    //String output = new BeanShellMethod2().name(input);
    String output = BeanShellMethod.name(input);
    vars.put("dd", output);

    3 调用jar文件

    jar文件放入ext路径中(F:Jmeterapache-jmeter-4.0libext)

    放入的文件可以进行自己命名

     

    代码

    //from fengluo import BeanShellMethod;
    //import BeanShellMethod2;
    import fengluo.BeanShellMethod;

    String input = vars.get("aa");
    String output = new BeanShellMethod().name(input);
    vars.put("dd", output);

    二 beanshell的应用

    1 进行中间数据的加密

     java文件 jar

    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    
    import sun.misc.BASE64Decoder;
    import sun.misc.BASE64Encoder;
    
    public class Base64 {
    
        public static void main(String[] args) throws IOException {
            // TODO 自动生成的方法存根
            //System.out.println(Base64.encode("123123"));
            //System.out.println(Base64.decode("MTIzMTIz"));
            
        }
        
        public static String encode(String input) throws UnsupportedEncodingException {
            byte[] i;
            i = input.getBytes("utf-8");
            String output = new BASE64Encoder().encode(i);
            return output;
        }
        
        public static String decode(String input) throws IOException {
            byte[] aa = new BASE64Decoder().decodeBuffer(input);
            String output = new String(aa, "utf-8");
            return output;
        }
    }

     

    代码
    //import fengluo.BeanShellMethod;
    import Base64;


    String input = vars.get("aa");
    String output = Base64.encode(input);
    vars.put("aa", output);

    2 进行中间数据的解密

    代码


    //import fengluo.BeanShellMethod;
    import Base64;


    String input = vars.get("aa");
    String output = Base64.decode(input);
    vars.put("aa", output);

  • 相关阅读:
    KnockOut循环绑定
    json数组排序
    1,滑动验证,前后台接口
    写个js程序咖常写的游戏-贪吃蛇
    ionic的路由配置及参数传递
    基于jq, jquery.easie.js 开发面向对象通栏焦点图组件
    面向对象开发弹窗组件
    基于jquery开发的选项卡
    JavaScript多线程 html5 Worker, SharedWorker
    gulp常用任务
  • 原文地址:https://www.cnblogs.com/wujianbo123/p/10886289.html
Copyright © 2011-2022 走看看