用户可以在jmeter- “beanShell断言”中自定义断言。自由灵活的用脚本实现自己的断言  
beanShell断言接口介绍  
在beanShell中直接可以调用的变量,无需加前缀。  
1.log 打印日志 log.info(“在控制台打印日志”);  
2.SampleResult 获取SampleResult对象,可以通过这个对象获取想要的信息  
3.Response 获取Response对象,可以通过这个对象获取对应的信息  
4.Failure 查看接口调用是否成功,如果返回false是成功的,true是失败的  
5.FailureMessage 失败信息,没有设置的时候失败信息是空的。可以set这个信息  
6.ResponseData 获取 response body,类型是byte[]  
7.ResponseCode 返回接口code,成功是200  
8.ResponseMessage 获取msg,成功是OK  
9.ResponseHeaders 获取接口服务端返回的头部信息  
10.RequestHeaders 获取客户端请求的头部信息  
11.SampleLabel 获取接口请求的名称  
12.SamplerData 获取请求的url和body  
13.ctx 代表上下文信息,可以直接使用  
14.vars 可以直接调用,将获取的数据变成jmeter变量(put),也可以获取用户自定义的变量(get)  
eg:  
1.在http sample下添加一个beanShell断言  
2.编写script  
import org.apache.jmeter.assertions;  
import org.apache.jmeter.samplers.SampleResult;  
import org.apache.jmeter.assertions.AssertionResult;  
import org.json.*;

String response_data = prev.getResponseDataAsString();//获取接口返回的response数据  
JSONObject data_obj = new JSONObject(response_data);//转换成json  
//判断code是否等于0 如果等于0 再取里面的字段  
String code = data_obj.get(“code”);  
if(code.equals(“0”))  
{  
String user_name = data_obj.get(“data”).get(“user”).get(“userName”).toString();  
//这里的my_name 是用户自定义的变量或者之前的接口返回获取的  
if(user_name.equals(${my_name})){  
Failure = false; //设置成false 表示接口跑成功,在结果树中sample是绿色的  
//做后续动作  
…….  
}  
else{  
//做其他动作  
}  
}  
else  
{  
Failure = true;//直接判断失败,表示接口跑失败,在结果树中sample是红色的  
prev.setStopThread(true);//如果断言失败,后面的接口不需要再跑,直接暂停  
}

 
分类: JMeter

(jmeter内置可调用的变量)jmeter beanShell断言的更多相关文章

  1. JMeter 内置日期(时间)函数总结

    JMeter 内置日期(时间)函数总结   by:授客 QQ:1033553122 1. 测试环境 apache-jmeter-3.3 下载地址: http://jmeter.apache.org/c ...

  2. JMeter ----内置函数列表

    Jmeter有两种类型的函数: 用户定义的静态值(或变量) 内置函数 用户定义的静态值允许用户定义变量时被替换为静态的值测试树编译并提交运行.需要注意的是,变量目前无法嵌套,即${Var${N}}不起 ...

  3. Thymeleaf 之 内置对象、定义变量、URL参数及标签自定义属性

    Thymeleaf 之 内置对象.定义变量.URL参数及标签自定义属性 本文章来自[知识林] 如标题所述,这篇文章主要讲述Thymeleaf中的内置对象(list解析.日期格式化.数字格式化等).定义 ...

  4. awk内置函数、外部变量

    外部变量 ①获取外部变量 格式: awk '{action}' 变量名=变量值 ,这样传入变量可以在action中获得值. 示例: test='awk test'--day-5 外部变量 ①获取外部变 ...

  5. 腾讯课堂1:使用Jmeter内置的录制功能进行录制

    1.设置http代理服务器 打开火狐——点击选项——高级——网络——设置  设置完成点击确定 2.查看端口是否被占用的命令 netstat -ano 3.排除模式 .*\.gif .*\.css .* ...

  6. tornado内置接口调用顺序initialize\prepare...

    一. initialize方法 首先, 该方法是框架预留的一个初始化时加载自定义内容的钩子, 其会在http请求方法之前调用 二. prepare方法 预处理方法, 在执行对应的请求方法之前调用. h ...

  7. GLSL语言内置的变量详解

    GLSL语言内置的变量,包括内置的顶点属性(attribute).一致变量(uniform).易变变量(varying)以及常量(const),一方面加深印象,另一方面今天的文章可以为以后的编程做查询 ...

  8. Perl中的特殊内置变量详解

    #!/usr/bin/perl -w @array = qw(a b c d); foreach (@array) { print $_," "; } 例子的作用就是定义一个数组并 ...

  9. JMeter36个内置函数及11个新增函数介绍

    JMeter内置了36个函数,这些函数可以通过函数助手进行编辑和测试.了解这些函数,不仅能提高JMeter的使用熟练度,也有助于知晓测试工具或测试框架通用的函数有哪些,在自主设计时,作为参考借鉴. J ...

随机推荐

  1. NOIp2018集训test-10-18 (bike day4)

    这是一套简单题,这几天的考试让bike老爷感觉很绝望,说实话我也确实不知道还能怎么更简单了. 这几天的题换做llj.sxy应该都能轻松AK吧,至少随便考个250+应该不是问题吧,我越来越觉得觉得我跟他 ...

  2. 标准模板库(STL)学习指南之sort排序

    对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算法也基本固定下来,不需要你再去花费心思 ...

  3. poj 2187 Beauty Contest —— 旋转卡壳

    题目:http://poj.org/problem?id=2187 学习资料:https://blog.csdn.net/wang_heng199/article/details/74477738 h ...

  4. javascript基础之回调函数

    简单来说,回调函数:也就是将要执行的函数. 回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A.我们就说函数A叫做回调函数.如果没有名称(函数表达式),就叫 ...

  5. 关于Confusion Matrix

    from sklearn.metrics import confusion_matrixy_true = [2, 0, 2, 2, 0, 1]y_pred = [0, 0, 2, 2, 0, 2]pr ...

  6. javaScript之Array方法

    Array类型和其他语言一样,是数据的有序列表,但不同的是数组的每一项们可以保存任何类型的数据. 1.检测方法(确定某个对象是不是数组) (1)value instanceof Array (2)Ar ...

  7. Servlet编程实例 续4

    ---------------siwuxie095 JSP+Servlet+JDBC 继续完善登录实例,将校验逻辑改为:从数据库中获取用户信息进行校验 数据库准备 在 Navicat for MySQ ...

  8. Angular10 组件之间的通讯

    1 父组件和子组件之间的通讯 2 利用中间组件实现两个组件之间的通讯 3 利用服务实现两个组件之间的通讯 2017年8月26日20:09:13 待更新... 1 组件之间的关系图 1.1 父子关系 1 ...

  9. map-reduce的八个流程

    下面讲解这八个流程  Inputformat-->map-->(combine)-->partition-->copy&merge-->sort-->red ...

  10. 9.CVE-2016-5195(脏牛)内核提权漏洞分析

    漏洞描述: 漏洞编号:CVE-2016-5195 漏洞名称:脏牛(Dirty COW) 漏洞危害:低权限用户利用该漏洞技术可以在全版本Linux系统上实现本地提权 影响范围:Linux内核>=2 ...