How to Use BeanShell - tenji/ks GitHub Wiki

BeanShell使用指南

一、什么是 BeanShell

二、JMeter 有哪些 BeanShell

  • Beanshell Sampler - 采样器
  • Beanshell PreProcessor - 前置处理器
  • Beanshell PostProcessor - 后置处理器
  • Beanshell Assertion - 断言
  • __Beanshell Function - 函数
  • BeanShell Timer - 定时器
  • BeanShell Listener - 监听器

三、BeanShell 常用内置变量

3.1 ctx

ctx 是暴露给 BeanShell 的最强大的变量。它代表了org.apache.jmeter.threads.JMeterContext类,它几乎是 JMeter 本身。它提供对底层JMeter 引擎,采样器及其结果以及变量/属性的读写访问。

3.2 log

log 代表org.apache.log.Logger类,可用于将消息追加到 jmeter.log 文件中。以下是示例用例:

log.info("This is a message with INFO level");
log.error("This is a message with ERROR level");

3.3 vars

byte [] samplerdata = ctx.getPreviousResult().getResponseData();
String samplerdatastring = new String(samplerdata);

vars.put("samplerdata",samplerdatastring);

3.4 props

基本上这和 vars 是一样的,但是它暴露了 JMeter 属性。props 与 vars 的主要区别在于 vars 具有“全局”的作用域,而 props 的范围局限于当前线程组。

四、BeanShell PreProcessor 用法示例

五、BeanShell PostProcessor 用法示例

参考链接