Jmeter系类(32) - JSR223(2) | Groovy常见内置函数及调用
常见内置函数及调用
获取相关函数
获取返回数据并转换为String字符串
prev.getResponseDataAsString()
例子
String Responsedata = prev.getResponseDataAsString();
//如果参数为true,则样本执行判断为成功,为false,则设置样本失败
if(Responsedata.contains(“百度一下,你就知道”)){
prev.setSuccessful(true);
}else{
prev.setSuccessful(false);
}
---------------------------------------------------------------------------------------------------------------------------------------
获取返回数据并保存为字节数组对象
适用于保存返回数据至本地(如下载文件等操作)
prev.getResponseData()
例子
import java.io.*;
byte[] bytes = prev.getResponseData();
String file_path = “文件路径/test.html”;
File file = new File(file_path);
FileOutputStream out = new FileOutputStream(file);
out.write(bytes);
out.close();
- prev.getResponseDataAsString()与prev.getResponseData()都是获取Response Body的内容,只是返回的数据类型不同
- prev.getResponseDataAsString()返回String字符串,prev.getResponseData()返回byte[]字节数组,使用时可根据实际需要对返回数据进行处理。
---------------------------------------------------------------------------------------------------------------------------------------
获取请求头信息
String headers = prev.getRequestHeaders()
---------------------------------------------------------------------------------------------------------------------------------------
获取请求返回的code
String code = prev.getResponseCode()
---------------------------------------------------------------------------------------------------------------------------------------
获取响应信息
String responsesmessage = prev.getResponseMessage()
---------------------------------------------------------------------------------------------------------------------------------------
获取响应头信息
String responsesheader = prev.getResponseHeaders()
---------------------------------------------------------------------------------------------------------------------------------------
获取请求URL
URL url = prev.getURL() ;
String url1 = prev.getUrlAsString();
---------------------------------------------------------------------------------------------------------------------------------------
设置及定义相关函数
设置响应信息Response message
prev.setResponseMessage(“这是响应信息”)
---------------------------------------------------------------------------------------------------------------------------------------
设置响应代码Response code
prev.setResponseCode(“404”)
注意
- 在beanshell脚本中可直接使用
- #ResponseMessage=“这是响应信息”;
- #ResponseCode=“404”;
- #IsSuccess=“false”;
- 但是在JSR223中不能用,而只能使用prev.set的方法
---------------------------------------------------------------------------------------------------------------------------------------
设置属性与调用属性
- 属性是所有线程公有的
- 需要注意的是,在JSR223或BeanShell中使用props.put(”name”,”value”)创建的属性
- 不能直接在当前JSR223或BeanShell中使用${__P(name,)}或${__property(name,)}进行调用
- 如果需要在当前JSR223或BeanShell中调用,需要使用props.get(“name”)方法。此处的name是属性名称,而不是随机的字符串
#当前JSR223声明并调用
props.put(“test2”,“property2”);
String test1 =props.get(“test1”);
String test2 = props.get(“test2”); #其他JSR223调用
${__setProperty(test1,property1,)};
---------------------------------------------------------------------------------------------------------------------------------------
定义变量与调用变量
- 通过vars.put(“name”,”value”)方式定义的变量作用域限制为当前线程组
- 跨线程调用,使用属性定义,与props.put(”name”,”value”)
- 同样的,vars.put(“name”,”value”)创建的变量,也不能直接在当前JSR223或BeanShell中使用${name}进行调用,而是使用vars.get(“name”)方法
#var.put的变量作用域为当前线程组,跨线程用使用设置属性props.put
vars.put(“name”,“jack”);
String test = vars.get(“name”);
---------------------------------------------------------------------------------------------------------------------------------------
时间处理
#startTimeStr 可以指定yyyy-MM-dd HH:mm:ss 格式的时间
${__groovy(Date.parse("yyyy-MM-dd HH:mm:ss"\,"${startTimeStr}").toCalendar().time.time,)} #指定时分秒
${__groovy(new Date().updated(hourOfDay:20\,minute:0\,second:0).getTime(),)}
---------------------------------------------------------------------------------------------------------------------------------------
打印相关函数
打印日志 ,日志会保存在bin目录下的jmeter.log文件中
#默认支持级别为info及以上,debug级别日志由于太多,默认不支持
log.error(“This is error message”)
---------------------------------------------------------------------------------------------------------------------------------------
OUT功能等同于System.out,将在Jmeter工作台输出信息
OUT.println(“此消息将被输出到Jmeter控制台”)
Jmeter系类(32) - JSR223(2) | Groovy常见内置函数及调用的更多相关文章
- python 常见内置函数setattr、getattr、delattr、setitem、getitem、delitem
常见内置函数 内置函数:在类的内部,特定时机自动触发的函数 示例1:setattr.getattr.delattr class Person: # def __init__(self, name): ...
- [ Python - 2 ] 常见内置函数
1. abs(): 绝对值 In [1]: abs(-10) Out[1]: 10 2. all(): 当参数中任何一个值为False时,all() 都为False all(iterable) ...
- 03 python3常见内置函数
数学相关 abs(a) : 求取绝对值.abs(-1) max(list) : 求取list最大值.max([1,2,3]) min(list) : 求取list最小值.min([1,2,3]) su ...
- mysql常见内置函数
在mysql中有许多内置的函数,虽然功能都能在PHP代码中实现,但巧妙的应用mysql内置函数可以大大的简化开发过程,提高效率. 在这里我总结一下一些常用的,方便以后查看: mysql字符串函数: c ...
- python常见内置函数总结
简单的内置函数 len 求长度 min 求最小值 max 求最大值 sorted 排序 reversed 反向 sum 求和 进制转换 bin 转为二进制 oct 转为八 ...
- python生成器对象&常见内置函数
内容概要 异常捕获(补充) for循环本质 生成器 yield 和 return优缺点 笔试题 常用内置函数 内容详细 一.异常捕获补充 try: print(name) except NameErr ...
- python常见内置函数
一. map( ) 映射 l = [1,2,3,4] print(list(map(lambda x:x+1,l))) # 获取列表中每个元素并传递给匿名函数运算保存返回值 二. zip( ) 拉链 ...
- Jmeter系类(33) - JSR223(3) | java常用脚本
Json 相关 解析 Response import groovy.json.JsonSlurper def responseStr = prev.getResponseDataAsString() ...
- python补充最常见的内置函数
最常见的内置函数是: print("Hello World!") 数学运算 abs(-5) # 取绝对值,也就是5 round(2. ...
随机推荐
- 为什么有些容器在docker run的时候需要接 -it ,有些不需要?
这是我们的Dockerfile文件 FROM busybox ENV sg WANG CMD ["/bin/sh", "-c", "echo wang ...
- Spring源码解析之ConfigurationClassPostProcessor(一)
ConfigurationClassPostProcessor 在前面一个章节,笔者和大家介绍了在构造一个应用上下文时,spring会执行到PostProcessorRegistrationDeleg ...
- 软件开发目录规范 ATM框架构建
软件开发的目录规范 建立文件夹 为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要.软件的目录规范并无硬性标准,只要清晰可读即可 以ATM购物车项目为例: 首 ...
- NOIP 模拟 $21\; \rm Median$
题解 \(by\;zj\varphi\) 对于这个序列,可以近似得把它看成随机的,而对于随机数列,每个数的分布都是均匀的,所以中位数的变化可以看作是常数 那么可以维护一个指向中位数的指针,同时维护有多 ...
- Docker创建Nexus
docker-compose.yml 注意为/usr/local/docker/nexus/data授权读写权限! version: '3.1' services: nexus: restart: a ...
- C++ com 组件的使用
// CommonTest.cpp : This file contains the 'main' function. Program execution begins and ends there. ...
- ASP.NET Core:中间件
一.什么是中间件 我们都知道,任何的一个web框架都是把http请求封装成一个管道,每一次的请求都是经过管道的一系列操作,最终才会到达我们写的代码中.而中间件就是用于组成应用程序管道来处理请求和响应的 ...
- Quartz任务调度(5)TriggerListener分版本超详细解析
TriggerListener 在我们的触发器监听器中,也包含了一系列监听方法 方法 说明 getName() 定义并返回监听器的名字 triggerFired() 当与监听器相关联的 Trigger ...
- 集合的打印、列表List、迭代器Iterators
集合的打印 必须使用 Arrays.toString() 来生成数组的可打印形式. 但是打印集合无需任何帮助. /** * 集合的打印 * @author myf */ public class Pr ...
- HuaWeiJava 上机
1 /* 2 * 第二题,输入字符串长度,字符串,计数m.从前往后计数,当数到m个元素时,m个元素出列,同时将该元素赋值给m, 3 * 然后从下一个数计数循环,直到所有数字都出列,给定的数全部为大于0 ...