JMeter那点事BeanShell PreProcessor

发表于:2018-5-25 10:19

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:BestFei    来源:博客园-原创精华区

  一、概述
  BeanShell PreProcessor是一个前置处理器,它可以进行一些接口请求前的参数预处理,比如格式化参数,时间等等。它只支持java语言。
  也可以使用JSR223 PreProcessor,选择java语言,java语言括号中的内容就是使用BeanShell引擎的意思。
  二、参数说明
  Parameter中填写的是要用到的参数,多个参数用空格区分。用到的参数都是之前在jmeter中得到了值的参数。
  File Name:可以把脚本写在文件里,此处填带脚本的文件名
  Script.:
  如使用jar需将jar提前放入jmeter安装目录的\lib\ext下,并重新启动jmeter。其实也可以放到\lib,但官方建议放到\lib\ext。
  使用import来导入,import的路径就是在eclipse中import的路径
  使用vars.get("xxx")来将jmeter中的参数的值获取到java中。
  使用vars.put("yyy",xxx)来将java中的参数的值储存到jmeter中,之后使用${yyy}来使用。
  三、脚本举例
//将jmeter中的参数${COFFEE_TOKEN1}的值获取到java参数token中,并在后面拼接字符串TT
String token = vars.get("COFFEE_TOKEN1") +"TT";
//将java中的参数token的值储存到jmeter中,之后使${COFFEE_TOKEN10}来使用。
vars.put("COFFEE_TOKEN10",token);
  注:
  ${COFFEE_TOKEN1} 是我通过正则表达式获取的tocken,所以用${xxx}的形式。
  如果是用户自定义的变量,可以直接使用 COFFEE_TOKEN1
import java.util.*;
import java.text.SimpleDateFormat;
String date = (new SimpleDateFormat("yyMMdd")).format(new Date());
String datetime = (new SimpleDateFormat("MMddHHmmss")).format(new Date());
log.info("mobileno");
String mobileno="09"+datetime;
vars.put("bs_mobileno",mobileno);

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号