首页 > 其他分享 >jmeter-10-提取多个id拼接请求数据及日期时间偏移,你会了吗?

jmeter-10-提取多个id拼接请求数据及日期时间偏移,你会了吗?

时间:2022-08-21 09:22:07浏览次数:93  
标签:__ 10 00 MM yyyy time Calendar jmeter id

前言

平时在使用 Jmeter 过程中,可能会遇到各种需求的参数需要处理,比如提取id拼接数组,又如时间日期处理等等

那么接下来将记录平时个人使用时遇到过挺多的场景!go go go!

一、拼接请求数据

1、勾选:Compute concatenation var (suffix_ALL)

会得到 team_ids=id1,id2,id3,idx,这种一般适用于url query入参

 2、BeanShell 后置处理程序

会得到 numList="id1","id2","idx",这种一般用于json body入参,如下

{
    "data":[1,2,3,4,5]
}

在数组中引用:[${numList}],或改造一下头拼接 [ 尾拼接 ] 得到numList=["id1","id2","idx"]

int num = Integer.valueOf("${p_projectIds_matchNr}");

String numList = "";

for (i=1; i<=num; i++){
    String str = vars.get("p_projectIds_" + i);
    numList += "\"" + str;
    if(i < num){
        numList += "\",";
    }else{
        numList += "\"";
    }
}

vars.put("numList", numList);

二、日期时间偏移

1、timeShift函数使用

官方文档:https://jmeter.apache.org/usermanual/functions.html#__timeShift

当前时间+1小时,如:2022-06-21 09:41:58

${__timeShift(yyyy-MM-dd HH:mm:ss,,PT1H,,)}

2、毫秒时间戳转秒:${__time(/1000,)}

 如果是要偏移怎么办?

偏移+1天,得到是毫秒:${__timeShift(,,P1D,,)}

1661129954599

偏移-1小时,得到是秒:1661129954

String time = "${__timeShift(,,PT1H,,)}";
time = time.substring(0, 10);
vars.put("time",time);

3、获取月的第一天、最后一天日期:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
 
 
String yesterday="${__timeShift(yyyy-MM-dd,,-P1d,,)}";     //昨天, 所属月份的整月20211201-20211231
 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //格式化为年月日
 
//月头
Calendar beginCalendar = Calendar.getInstance();
beginCalendar.setTime(sdf.parse(yesterday));
beginCalendar.set(Calendar.DAY_OF_MONTH, beginCalendar.getActualMinimum(Calendar.DAY_OF_MONTH));
String begin =  sdf.format(beginCalendar.getTime());
 
//月尾
Calendar calendar = Calendar.getInstance();
calendar.setTime(sdf.parse(yesterday));
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
String end =sdf.format(calendar.getTime());
 
 
vars.put("date_begin",begin);
vars.put("date_end",end); 

 那其他呢?

当日:${__time(yyyy-MM-dd 00:00:00)}  、${__time(yyyy-MM-dd 23:59:59)}

当月至今:${__time(yyyy-MM-01 00:00:00)}  、${__time(yyyy-MM-dd 23:59:59)}

当年至今:${__time(yyyy-01-01 00:00:00)}  、${__time(yyyy-MM-dd 23:59:59)}

 欢迎来大家QQ交流群一起学习:482713805,博主微信+:gogsxl

标签:__,10,00,MM,yyyy,time,Calendar,jmeter,id
From: https://www.cnblogs.com/gsxl/p/16586533.html

相关文章

  • IDEA 创建 Web 项目
    原文:IDEA2021.1创建JavaWeb项目。简单完善。IDEA2021.1点击next填写项目的名称以及位置,finish右键项目,选择addframeworksupport完成之后,项目结构......
  • [Google] LeetCode 1048 Longest String Chain
    YouaregivenanarrayofwordswhereeachwordconsistsoflowercaseEnglishletters.\(word_A\)isapredecessorof\(word_B\)ifandonlyifwecaninserte......
  • PAT Advanced 1036 Boys vs Girls(25)
    题目描述:Thistimeyouareaskedtotellthedifferencebetweenthelowestgradeofallthemalestudentsandthehighestgradeofallthefemalestudents.Inp......
  • PAT Advanced 1035 Password(20)
    题目描述:ToprepareforPAT,thejudgesometimeshastogeneraterandompasswordsfortheusers.Theproblemisthattherearealwayssomeconfusingpasswords......
  • PAT Advanced 1027 Colors in Mars(20)
    题目描述:PeopleinMarsrepresentthecolorsintheircomputersinasimilarwayastheEarthpeople.Thatis,acolorisrepresentedbya6-digitnumber,wher......
  • Vue/uniapp使用雪花算法生成随机ID
    安装snowflake-id插件npmisnowflake-id 页面导入雪花插件importSnowflakeIdfrom"snowflake-id"; 方法内使用雪花算法constsnowflake=newSnowflak......
  • 使用idea remote 开发体验
    本地使用idea开发最不好的一个体验就是打开稍大的工程就非常的卡,怎么调参数都没用,现在idea推出了idearemote就赶紧来体验下。使用方式除了idea不需要额外下载什么包,但是......
  • IDEA-2021.1.2版本的相关设置
    1.自动导包:File|Settings|Editor|General|AutoImport        2.忽略大小写设置:(去掉MathCase)          ......
  • Vulfocus靶场 | Druid 任意文件读取(CVE-2021-36749)
    漏洞原理由于用户指定HTTPInputSource没有做出限制,可以通过将文件URL传递给HTTPInputSource来绕过应用程序级别的限制。由于ApacheDruid默认情况下是缺乏授权......
  • PAT Advanced 1019 General Palindromic Number(20)
    题目描述:AnumberthatwillbethesamewhenitiswrittenforwardsorbackwardsisknownasaPalindromicNumber.Forexample,1234321isapalindromicnumber......