zoukankan      html  css  js  c++  java
  • Jmeter之Bean shell使用(一)

    一、什么是Bean Shell

    • BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;
    • BeanShell是一种松散类型的脚本语言(这点和JS类似);
    • BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简的解释器jar文件大小为175k。
    • BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。

    官网:http://www.BeanShell.org/

    二、Jmeter有哪些Bean Shell

    • 定时器:  BeanShell Timer

    • 前置处理器:BeanShell PreProcessor

    • 采样器:  BeanShell Sampler

    • 后置处理器:BeanShell PostProcessor

    • 断言:   BeanShell断言

    • 监听器:  BeanShell Listener

    三、BeanShell的用法

     在此介绍下BeanShell PreProcessor的用法,其它的beahshell可以类推。在此我们使用beahshell调用自己写的工具类,工具类实现了密码的加、解密功能:

    1.在eclipse写好代码,然后把该类打成jar包(在类上点击右键->Export->jar file)或者下载commons-codec-1.11.jar

    2.把jar包放到jmeter目录apache-jmeter-2.13libext下

    3.在测试计划中,添加此jar包

    4.打开jmeter,新增一个BeanShell Sampler,再添加一个http sampler(调用登录接口)

    5.在BeanShell Sampler中导入我们的jar包,调用里面的加、解密码方法,把结果保存在jmeter变量中,下面两个方法是beanshell中我们最常用到的:

    • vars.put(String key,String value):,将数据存到jmeter变量中
    • vars.get(String paramStr):获得变量值

    //导入jar包
    import org.apache.commons.codec.digest.DigestUtils;
    
    //定义需要加密的参数并将其进行拼接
    String parm="123456153452415";
    //调用MD5hex方法生成最终的加密串
    String mxd=DigestUtils.md5Hex(parm);
    //将生成的加密串赋值给变量mxd,这样可以便于后续的使用
    vars.put("mxd",mxd);

    6.把加密后的密码存到jmeter变量中,然后在http sampler中就可以通过${mxd}进行使用了:

     

    7.执行脚本

    http请求

    Debug Sampler响应数据

  • 相关阅读:
    leetcode-38.报数
    leetcode-35.搜索插入位置
    leetcode-27.移除元素
    leetcode-26.删除重复数组中的重复项
    leetcode-20.有效的括号
    leetcode-973最接近原点的K个点
    leetcode-14最长公共前缀
    leetcode-13罗马字符转整数
    MFC俄罗斯方块
    leetcode-9.回文数(水仙花数)
  • 原文地址:https://www.cnblogs.com/sunny-sl/p/7717027.html
Copyright © 2011-2022 走看看