用户可以在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. [HDU4652]Dice

    vjudge 题意 \(m\)面骰子,求 1.连续出现\(n\)个相同的停止: 2.连续出现\(n\)个不同的停止 的期望投骰子次数. \(n,m ≤ 10^6\) sol 首先考虑一个转移式子吧. ...

  2. PUN介绍(干货)

    PUN介绍 入门 Photon Unity Networking(首字母缩写PUN)是一个Unity多人游戏插件包.它提供了身份验证选项.匹配,以及快速.可靠的通过我们的Photon后端实现的游戏内通 ...

  3. MySQL 和 InnoDB

    发现一篇总结的很不错的文章,转一下 (原文作者:Draveness   原文链接:https://draveness.me/mysql-innodb) 作为一名开发人员,在日常的工作中会难以避免地接触 ...

  4. rsync 介绍和参数说明

    Rsync 介绍: 我们经常需要在不同目录或者服务器之间做文件同步和更新,Linux提供了很多内置命令可以使用比如scp等等,但是今天我们介绍一个更加强大的工具rsync.rsync 命令是一个远程同 ...

  5. java 代码。= -=

    package com.da; //toString()方法, //Object类重写... public class ty { private String name; private int ag ...

  6. 三 volatile关键字

    一:内存模型: 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入.由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问 ...

  7. TS学习之泛型

    可以使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据 不适用泛型的函数 function myfn(args: number): number { return args; } functi ...

  8. 转载:PLSQL Developer使用技巧整理

    Shortcut(快捷方式): Edit/Undo     Ctrl+Z Edit/Redo     Shift+Ctrl+Z Edit/PL/SQL Beautifier  Ctrl+W   (自定 ...

  9. C#事件触发机制

    C#的事件触发机制,类似于c++的回调函数机制 我先简单说一下,委托和事件的实质,后期再重开一篇博文来详细说 委托:指向方法的指针,类似于C的函数指针 事件:是一个可以存放0个或多个方法指针的数据结构 ...

  10. tar压缩解压缩

    Linux下的tar压缩解压缩命令详解tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以 ...