Jmeter之『JSR223脚本』
2024-09-05 13:20:05
Json处理(通过JS)
对于Json字符串,需要使用单引号『''』(因为Json中已存在双引号)
// String转为Object
var jsonObj = JSON.parse('${data}');
// Object转为String
var jsonStr = JSON.stringify(jsonObj);
// 获取数组长度(直接通过length)
var len = obj.list.length;
获取当前Sample返回值
var jsonStr = prev.getResponseDataAsString();
缓存
存在一个默认勾选项:『如果可用,缓存编译脚本』,勾选后,不仅是脚本被缓存,其中的数据也会被缓存而不会更新(包括变量),如:
// 此处的${api}会编译为String,然后每次解析的都会是首次传入的变量
var jsonObj = JSON.parse('${api}');
vars.put("_id",jsonObj._id);
移除变量
vars.remove("data");
生成随机时间
使用Jmeter函数助手:__timeShift和__Random
"${__timeShift(yyyy-MM-dd HH:mm:ss,,-P${__Random(1,300,)}D,,)}"
其中__timeShift的用法:
"PT20.345S" -- parses as "20.345 seconds"
"PT15M" -- parses as "15 minutes" (where a minute is 60 seconds)
"PT10H" -- parses as "10 hours" (where an hour is 3600 seconds)
"P2D" -- parses as "2 days" (where a day is 24 hours or 86400 seconds)
"P2DT3H4M" -- parses as "2 days, 3 hours and 4 minutes"
"P-6H3M" -- parses as "-6 hours and +3 minutes"
"-P6H3M" -- parses as "-6 hours and -3 minutes"
"-P-6H+3M" -- parses as "+6 hours and -3 minutes"
注意:使用H,M,S时,必须有T,T出现在H,M,S前,D后,如:P2DT3H4M。如没有D,则在P后,如:-PT6H3M。参考:https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html#parse-java.lang.CharSequence-
数组取随机index
var temp = ["1","2","3","4","5"];
temp[Math.floor((Math.random()*temp.length))];
判断字符串是否包含
"${__V(title,)}".indexOf("测试") != -1
最新文章
- sql server 游标 写给自己
- CloseableHttpResponse的使用
- [Hadoop]如何安装Hadoop
- 存储区更新、插入或删除语句影响到了意外的行数(0)。实体在加载后可能被修改或删除。刷新 ObjectStateManager 项。
- C语言 数组输出,冒泡排序法,沉底排序法,二维数组输出,输出字母列长度,从随机数组中找重复数
- maven项目显示红叉的解决方法
- FastDFS + Nginx 安装
- alpha-咸鱼冲刺day7
- Spring Boot Cache配置 序列化成JSON字符串
- C#字符串的CompareTo比较,让我疑惑的地方
- utf8 vs utf8mb4
- AndroidStudio_RecyclerView
- 部署项目到linux中报Spring MVC报异常:org.springframework.web.util.NestedServletException: Request processing failed
- java中的中文字符转码技术
- 修改windows远程默认端口
- Ubuntu14.04 server (amd64)修改源
- python网络编程-socket样例
- C++第12周(春)项目2 - &;quot;双肩挑&;quot;教师
- MySQL 之 多表查询
- java:内存处理ByteArrayOutputStream,ByteArrayInputStream