常见内置函数及调用

获取相关函数

获取返回数据并转换为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常见内置函数及调用的更多相关文章

  1. python 常见内置函数setattr、getattr、delattr、setitem、getitem、delitem

    常见内置函数 内置函数:在类的内部,特定时机自动触发的函数 示例1:setattr.getattr.delattr class Person: # def __init__(self, name): ...

  2. [ Python - 2 ] 常见内置函数

    1. abs(): 绝对值 In [1]: abs(-10) Out[1]: 10 2. all(): 当参数中任何一个值为False时,all() 都为False    all(iterable) ...

  3. 03 python3常见内置函数

    数学相关 abs(a) : 求取绝对值.abs(-1) max(list) : 求取list最大值.max([1,2,3]) min(list) : 求取list最小值.min([1,2,3]) su ...

  4. mysql常见内置函数

    在mysql中有许多内置的函数,虽然功能都能在PHP代码中实现,但巧妙的应用mysql内置函数可以大大的简化开发过程,提高效率. 在这里我总结一下一些常用的,方便以后查看: mysql字符串函数: c ...

  5. python常见内置函数总结

    简单的内置函数 len    求长度 min   求最小值 max  求最大值 sorted  排序 reversed   反向 sum   求和 进制转换 bin   转为二进制 oct   转为八 ...

  6. python生成器对象&常见内置函数

    内容概要 异常捕获(补充) for循环本质 生成器 yield 和 return优缺点 笔试题 常用内置函数 内容详细 一.异常捕获补充 try: print(name) except NameErr ...

  7. python常见内置函数

    一. map( ) 映射 l = [1,2,3,4] print(list(map(lambda x:x+1,l))) # 获取列表中每个元素并传递给匿名函数运算保存返回值 二. zip( ) 拉链 ...

  8. Jmeter系类(33) - JSR223(3) | java常用脚本

    Json 相关 解析 Response import groovy.json.JsonSlurper def responseStr = prev.getResponseDataAsString() ...

  9. python补充最常见的内置函数

    最常见的内置函数是: print("Hello World!") 数学运算 abs(-5)                         # 取绝对值,也就是5 round(2. ...

随机推荐

  1. miniFTP项目实战一

    项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务 ...

  2. Vue一些需要记住的指令/属性

    v-once:只能使得组件解析执行一次的指令,如: <div id="app"> <p>{{count}}</p> <!--count在v ...

  3. deepin下启动自己的springcloud服务报错

    java.nio.file.AccessDeniedException: /home/msan/logs/csp/sentinel-record.log.2021-01-04.0.2.lck at s ...

  4. NOIP 模拟 $36\; \rm Cicada 与排序$

    题解 \(by\;zj\varphi\) 设 \(rk_{i,j}\) 表示第 \(i\) 个数最后在相同的数里排第 \(j\) 位的概率. 转移时用一个 \(dp\),\(dp_{i,j,0/1}\ ...

  5. 题解 block

    传送门 如果不想让next_permutation()自动忽略重复元素,可以在比较函数里加个rk之类的东西使它们不同(next_permutation()不用等于号) 关于第一问:貌似也是一个挺常见的 ...

  6. Spring-Boot-Bean的使用,@Repository,@Service,@Controller,@Component

    前言 在Spring MVC的时候,我们使用xml来配置bean,如今的Spring boot推荐我们使用元注解的发生,那就听Spring Boot的推荐,下面我就为大家来介绍下Spring Boot ...

  7. 简单介绍无限轮播图,js源代码

    无限轮播图js源代码,今天介绍一下用js简单的编写无限轮播图 <!DOCTYPE html> <html>   <head>     <meta charse ...

  8. C#用SOCKET发送HTTP请求小例

    private void button1_Click(object sender, EventArgs e) { string urlStr = this.textUrl.Text ; if (url ...

  9. wpf 实现印章,公章效果

    能写一些特定外观的控件,是一个做界面开发的程序员的基础技能.基本上,不管你是做web,QT,MFC,Winform,WPF等等,如果自己看到一个比较好看的有趣的效果,能大致推断出它的实现方式并照猫画虎 ...

  10. C#多线程---Semaphore实现线程同步

    一.简介 Semaphore类限制可同时访问某一资源或资源池的线程数.线程通过调用 WaitOne方法将信号量减1,并通过调用 Release方法把信号量加1. 构造函数:public Semapho ...