beanshell断言_Jmeter之BeanShell断言使用
1.Bean Shell常用内置变量
JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下:
log:用来记录日志文件,写入到jmeber.log文件,使用方法:log.info(“This is log info!”);
ctx(JmeterContext)通过它来访问context,使用方法可参考:org.apache.jmeter.threads.JMeterContext。
vars- (JMeterVariables):操作jmeter变量,提供读取/写入访问变量的方法。这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,常用方法:
a) vars.get(String key):从jmeter中获得变量值
b) vars.put(String key,String value):数据存到jmeter变量中
c) vars.putObject("OBJ1",new Object());
props- (JMeterProperties - class Java.util.Properties):操作jmeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值,而不能是一个对象。对应于java.util.Properties。
a)props.get("START.HMS"); 注:START.HMS为属性名,在文件jmeter.properties中定义
b) props.put("PROP1","1234");
prev - (SampleResult):获取前面的sample采样的结果,常用方法:
a) getResponseDataAsString():获取响应信息
b)getResponseCode() :获取响应code
sampler - (Sampler):gives access to the current sampler 访问当前采样
2.BeanShell 断言使用实例
BeanShell断言可以使用beanshell脚本来执行断言检查,可以用于更复杂的个性化需求,使用更灵活,功能更强大,但是要能够熟练使用beanshell脚本。
这里除了可以使用beanshell的内置变量外,主要通过Failure和FailureMessage来设置断言结果。
Failure = false;-----表示断言成功,
FailureMessage= "……"; ----自定义的成功信息
Failure= true;-----表示断言失败,
FailureMessage= "……";-----自定义的失败信息。
实例:
String responseData = prev.getResponseDataAsString(); //获取请求的返回结果
String code = prev.getResponseCode(); //获取请求的返回code码
String requestData = prev.getSamplerData(); //获取发出的请求数据
if( !code.equals("200") ){ //如果请求的相应状态码不是200
FailureMessage = "响应状态码不是:200,而是:" + code + ",请求失败!"; //自定义的失败信息
log.info(FailureMessage); //在日志里打印失败的信息
log.info("Request: " + requestData); //在日志里面打印失败的请求体
Failure = true; //表示断言失败
}else if(!responseData.contains("\"errCode\":0")){
FailureMessage= "响应body中errCode不是:0,响应body为:" +responseData;
log.info(FailureMessage);
log.info("Request: " +requestData);
Failure= true;
}
beanshell断言_Jmeter之BeanShell断言使用相关推荐
- beanshell断言_JMeter使用BeanShell断言
BeanShell简介 BeanShell是使用Java语法的一套脚本语言,在JMeter的多种组件中都有BeanShell的身影,如: 定时器:BeanShell Timer 前置处理器:BeanS ...
- beanshell断言_jmeter之beanshell断言实例
.首先储存一个接口的响应结果,比如在http请求的后面添加beanshell后置处理器(BeanShell PostProcessor)来储存http请求的响应结果: 1 import org.jso ...
- beanshell断言_jmeter之BeanShell对两个变量断言对比
在jmeter的中,断言没法对两个变量的进行对比后判断,只能使用Bean Shell断言来进行. 假设需求: 获取某类型用户uid个数与数据库查询结果是否相等 获取uid个数用http接口获取统计数据 ...
- jmeter json断言_Jmeter接口测试数据库断言的实现与设计
接口测试大部分都使用接口的响应值作为接口验证的依据,但在与数据库有交互的接口中这种结果判断不足以判断接口的正确性,本文将以jmeter作为接口测试的工具来实现接口的数据库断言 一. 总体思路概述 1. ...
- 传递给beanshell的参数_jmeter基础之断言及参数的关联性
jmeter参数关联 接口测试中经常会碰到,下一个接口的入参是上个接口的出参,企业中不可能实时进行手工改动,那么就需要用到参数的关联,把接口的响应数据,输出给下一个接口.参数关联我们可以使用正则表达式 ...
- beanshell断言_jmeter学习指南之响应断言和beanshell断言
一.响应断言 1.什么是响应断言? 在jmeter中最常用的断言方法是"响应断言",它是通过检查sampler的请求内容和响应结果中是否匹配指定的字符串来判断结果是否正确. 响应断 ...
- beanshell断言_jmeter BeanShell断言 的使用方法(一)
一.下载jar包 链接:https://pan.baidu.com/s/11UyzVSBzPRGJ0K8vuoKTXg 提取码:3m03 二.步骤 1.安装有jmeter,下载jar包后,把jar包放 ...
- python unittest断言_python unittest之断言及示例
assert.png 前言 python unintest单元测试框架提供了一整套内置的断言方法. 如果断言失败,则抛出一个AssertionError,并标识该测试为失败状态 如果异常,则当做错误来 ...
- 参数化,断言,参数化时为什么做断言,怎么做断言,如何确保断言的正确
参数化是什么 参数化想必做过接口测试的各位小伙伴都不陌生,参数化是对一个接口进行多次重复类似的操作,通过将响应数据与接口API对比即可. 断言是什么 手动测试时,我们通过肉眼去确认程序的实际操作后呈现 ...
最新文章
- php-echo原理
- 机器人视觉——使用numpy进行像素的处理 || 获取图像的属性 || 感兴趣区域ROI || 通道的拆分与合并
- 网易搞事情,一首《程序员disco》唱给1024程序员节
- windows下,linux下c++生成文件夹
- SM30 - SMOFOBJECT
- Vigenère密码(洛谷P1079题题解,Java语言描述)
- 定义druid工具类
- 一网打尽软件测试面试必问的所有Web测试点,你不知道的这都有!
- 如何阅读科研文献-------------一点思考与总结
- PMP课程笔记:第10章 项目沟通管理
- echarts的tooltip提示框
- 如何给澳洲路局写信refound罚金,遇到交通罚款怎么办
- echarts实现立体柱状图
- Alpha 测试(α测试) Beta 测试(β测试)区别
- Android 内存管理中的 Shallow heap Retained heap
- 计算机T层,层螺旋计算机断层摄影术及T磁共振成像对-国家心血管病中心.PDF
- 微信小程序api的封装使用
- 主成分分析——PCA
- hibernate5.4+mysql8+java8实例
- 【转载】Android提醒微技巧,你真的了解Dialog、Toast和Snackbar吗?