性能测试九:jmeter进阶之beanshell的使用+断言

 一、使用

BeanShell使用方式一

BeanShell面板上写脚本

// 从vars中获取用户定义的参数,并转换为int类型

int p_skuId = Integer.parseInt(vars.get("p_skuId"));

// 进行逻辑判断,如果是偶数,保存一个参数p_opt,值为“Rick”;如果是奇数,值为“Glen”

if (p_skuId % 2 == 0){

  vars.put("p_opt","Rick");

}else{

  vars.put("p_opt","Glen");

}

BeanShell使用方式二

引用外部java文件 步骤:

//引用外部java文件

source("D:\md5\Md5Util.java");

//获取出原来的p_opt参数

String str_opt = vars.get("p_opt");

//调用Md5Util类中的getMd5Hex方法,将str_opt加密

String md5_opt = Md5Util.getMd5Hex(str_opt);

//将加密后的参数重新保存为一个mdt_opt参数,并放到vars中

vars.put("md5_opt",md5_opt);

 

BeanShell使用方式三

引入外部jar包 步骤:

1.“测试计划”里,Add directory or jar to classpath

2.import 所需要的类名

//导入类名

import com.lee.util.Md5Util;

//获取出原来的p_opt参数

String str_opt = vars.get("p_opt");

//调用Md5Util类中的getMd5Hex方法,将str_opt加密

String md5_opt = Md5Util.getMd5Hex(str_opt);

//将加密后的参数重新保存为一个mdt_opt参数,并放到vars中

vars.put("md5_opt",md5_opt);

 

二、断言

内置变量

Failure:是否失败,boolean类型
FailureMessage:失败日志,在断言失败时显示
例:
int stock = Integer.parseInt(vars.get("p_stock"));
if (stock > 1500){
  Failure = true;
  FailureMessage = "库存数量超过了1500";
  // ResponseData是服务器返回的byte[]类型的数据,如果想打印,必须转换为String类型的,用new String(ResponseData)
  log.info(new String(ResponseData));
  //打印当前请求的url, SamplerData是String类型的数据
  log.info(SamplerData);
  }

原文地址:https://www.cnblogs.com/zhongyehai/p/10166584.html