JMeter使用小功能-(持续更新)

1、jmeter在同一个线程组内,uuid的复用

  1. 方式一:
    在这里插入图片描述
    在这里插入图片描述
  2. 方式二:
    在这里插入图片描述
    在这里插入图片描述

2、获得jMeter使用的线程总数

ctx.getThreadGroup().getNumberOfThreads()来表示活动线程总数

int threadNum=ctx.getThreadGroup().getNumThreads(); 
String threads = Integer.toString(threadNum);
log.info("线程"+threads);

3、Jmeter中使用JSON提取器获取数组中的多个值(id)拼接

1、JSON提取器中勾选 Compute concatenation var(suffix_ALL)

直译:计算串联变量(后缀_ALL),例如我设置的变量名称itemid,那么拼接字符串变量就是 itemid_ALL

通过调试取样器可见返回的 itemid_ALL 值。
在这里插入图片描述
在这里插入图片描述

4、Jmeter-获取本月第一天和最后一天日期时间,并转换为时间戳

import java.text.SimpleDateFormat;
import java.util.Date;
import java.text.*;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//获取当前月第一天:Calendar c = Calendar.getInstance();   c.add(Calendar.MONTH, 0);c.set(Calendar.HOUR_OF_DAY,0);c.set(Calendar.MINUTE,0);c.set(Calendar.SECOND,0);c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 String first = format.format(c.getTime());vars.put("first",first);//获取当月最后一天:Calendar ca = Calendar.getInstance();    ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));  ca.set(Calendar.HOUR_OF_DAY,23);ca.set(Calendar.MINUTE,59);ca.set(Calendar.SECOND,59);String last = format.format(ca.getTime());vars.put("last",last);//将日期格式转换为时间戳
String begin = vars.get("first");
String end =  vars.get("last");
Date beginTime1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(begin);
Date endTime1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(last);
String beginTime = String.valueOf(beginTime1.getTime());
String endTime = String.valueOf(endTime1.getTime());
vars.put("beginTime",beginTime);
vars.put("endTime",endTime);

5、将long类型转换成String类型

long num = 1234567890L;
String str = String.valueOf(num);
vars.put("str",str);

示例:

long today_time = ${__groovy(new java.text.SimpleDateFormat("yyyy-MM-dd").parse('${__time(yyyy-MM-dd,)}')getTime(),)}L;
String str = String.valueOf(today_time);
vars.put("todaytime",str);

在这里插入图片描述

6、JMeter中实现某个值的递减

  1. 定义变量
    在这里插入图片描述

  2. 使用内置函数

${__intSum(${num},-1,num)}
  1. 示例
    在这里插入图片描述
    使用beanshell脚本自减
int newid=Integer.parseInt("${__P(new_id,)}");//获取全局变量
newid--; //自减
vars.put("new_id",newid+""); //保存到变量
return newid;

多线程执行的时候不会自减,那是因为每个线程都是独立的,会重新初始化,我上面的都是在循环内执行自减的;如果要根据多个线程数达到自减的目的,可以想办法使用jmeter的函数 KaTeX parse error: Expected group after '_' at position 2: {_̲_threadNum} 得到线…{__threadNum}

int max=Integer.parseInt("${__P(new_id,)}");//获取全局变量
int threadnum= Integer.parseInt("${__threadNum}");
int newnum=max-threadnum;
vars.put("new_id",newnum+"");
return newnum;

在这里插入图片描述
在这里插入图片描述

7、生成随机浮点数

JMeter 如何生成指定取值范围、指定小数位数的随机浮点数

可以使用函数 __javaScript 来执行 JavaScript 代码片:

${__javaScript((Math.random() * (100)).toFixed(2) * 1,)}

以上将生成 0 ~ 100 的带两位小数的浮点数。说明如下:

  • Math.random() 生成 0 ~ 1 的小数
  • Math.random() * (100) 生成 0 ~ 100 的浮点数
  • toFixed(2) 将生成的浮点数保留 2 位小数

如果想生成 100 ~ 200 内的带两位小数的浮点数,可以:

${__javaScript((Math.random() * (100)).toFixed(2) * 1 + 100,)}

在这里插入图片描述生成 100 ~ 200 内的带两位小数的浮点数效果如下:
在这里插入图片描述

8、日期循环递减

String date = "${__timeShift(yyyy-MM-dd,,P-${__counter(,)}D,,)}";
vars.put("date",date);

在这里插入图片描述

-- 可以指定开始时间
${__timeShift(yyyy-MM-dd 00:00:00,2018-01-06 00:00:00,P-${__counter(,)}D,,)}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/47689.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机械学习—零基础学习日志(高数05——函数概念与特性)

零基础为了学人工智能,真的开始复习高数 本小节讲解隐函数,有点神奇,我竟然完全没有隐函数记忆了。 隐函数 隐函数,我个人通俗理解就是,在复杂的环境里,发现纯净天地。例如,在外太空的某个大陆…

工信部信通院首份全景图 | 天空卫士产品26个版块多覆盖

近日,2024全球数字经济大会——数字安全生态建设专题论坛在北京成功举办,论坛由全球数字经济大会组委会主办,中国信息通信研究院和公安部第三研究所共同承办。论坛上,中国信息通信研究院隆重推出了业界首期《数字安全护航技术能力…

Flink集群搭建

(1)JAVA_HOME 配置 conf/flink-conf.yaml env.java.home (2)与Hadoop关联,如果确认使用Hadoop相关功能,需要关注对应的版本。如果不使用,则随意 使用flink版本 下载最新版本后,将存…

(四)原生js案例之手风琴效果

手风琴效果也是业务开发中一个比较常见的效果,类似QQ那样的折叠功能 效果预览 代码实现 必要的css * {margin: 0;padding: 0;}body {height: 100vh;background: linear-gradient(200deg, #ffff00 0%, #ee82ee 100%);overflow: hidden;}ul {list-style: none;}#List {margin:…

更新weibo sdk(去掉so以适配Android 15的16K Page Size的版本)记录

1、修改模块的gradle 从 implementation io.github.sinaweibosdk:core:13.6.1aar 改为 implementation io.github.sinaweibosdk:core:13.10.4aar 同步、运行报错: Didnt find class "androidx.core.content.FileProvider" 解决:据此提示…

Stable Diffusion:质量高画风清新细节丰富的二次元大模型二次元插图

今天和大家分享一个基于Pony模型训练的二次元模型:二次元插图。关于该模型有4个不同的分支版本。 1.5版本:loar模型,推荐底模型niji-动漫二次元4.5。 xl版本:SDXL模型版本 mix版本:光影减弱,减少SDXL版本…

C/C++ yaml 库

文章目录 一、yaml 介绍1.1 yaml 介绍1.2 yaml 教程1.3 yaml 在线工具1.4 yaml 出现背景 二、C/C yaml 库选型2.2 libfyaml2.3 yaml-cpp 一、yaml 介绍 1.1 yaml 介绍 YAML(YAML Ain’t Markup Language)是一种人类可读的数据序列化格式,通…

客户在哪儿AI的ToB获客服务和AI外呼机器人的有何不同

客户在哪儿AI全面提供服务已经快一个月了,我们收到了一些反馈。其中问的最多也是最有意思的问题就是,客户在哪儿AI与市面上其他几类服务于B端的科技产品有什么不同。既然如此,我们决定连出几篇文章把这件事给讲清楚。本期讲——客户在哪儿AI的…

模型训练中出现loss为NaN怎么办?

文章目录 一、模型训练中出现loss为NaN原因1. 学习率过高2. 梯度消失或爆炸3. 数据不平衡或异常4. 模型不稳定5. 过拟合 二、 针对梯度消失或爆炸的解决方案1. 使用torch.autograd.detect_anomaly()2. 使用 torchviz 可视化计算图3. 检查梯度的数值范围4. 调整梯度剪裁 三、更具…

uni-app开发日志:unicloud使用时遇到的问题解决汇总(不断补充)

插件安装后提示与原数据库表冲突(2024.7.18) 安装uni-admin后再安装uni-cms,在uni-admin中添加好菜单,结果提示该错误 回到hbuilder中uniCloud/database中找到冲突的部分 比较一下,选中老的删除 opendb-news-articl…

HarmonyOS根据官网写案列~ArkTs从简单地页面开始

Entry Component struct Index {State message: string 快速入门;build() {Column() {Text(this.message).fontSize(24).fontWeight(700).width(100%).textAlign(TextAlign.Start).padding({ left: 16 }).fontFamily(HarmonyHeiTi-Bold).lineHeight(33)Scroll() {Column() {Ba…

eclipse免安装版64位 2018版本

前言 eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。 一、下载地址 下载地址:http://source/download 选择如下图红色框文件内容下载 二、安装步骤 1、…

【算法】数组中的第K个最大元素

难度:中等 题目: 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题…

Day16_集合与迭代器

Day16-集合 Day16 集合与迭代器1.1 集合的概念 集合继承图1.2 Collection接口1、添加元素2、删除元素3、查询与获取元素不过当我们实际使用都是使用的他的子类Arraylist!!! 1.3 API演示1、演示添加2、演示删除3、演示查询与获取元素 2 Iterat…

分词任务介绍-(十)

分词任务 中文分词正向最大匹配实现方式一实现方式二 反向最大匹配双向最大匹配jieba分词上述分词方法的缺点总结基于机器学习 总结分词技术经验总结 中文分词 正向最大匹配 分词的步骤 1.收集整理一个词表,类似于字典。如下图 2.对于待分词的句子,或者…

k8s二次开发-kubebuiler一键式生成deployment,svc,ingress

一 Kubebuilder环境搭建 注&#xff1a;必须在当前的K8S集群有 nginx这个ingressclass rootk8s:~# kubectl get ingressclass NAME CONTROLLER PARAMETERS AGE nginx k8s.io/ingress-nginx <none> 19h1.1 下载kubebuilder wget https://gi…

机器学习西瓜书笔记(一)

机器学习西瓜书笔记 第一章(chapter 1) 绪论 (参考机器学习西瓜书)第一节(section 1)引言第二节(section 2)基本术语第三节(section 3)假设空间第四节(section 4)归纳偏好第五节(section 5)发展历程第六节(section 6)应用现状第一章(chapter 1) 绪论 (参考机…

监测vuex中state的变化

在Vuex中&#xff0c;如果你想要监测state的变化并在变化时调用相应的函数&#xff0c;有几种方法可以实现这个需求。但需要注意的是&#xff0c;Vuex官方推荐的方式是通过getter来派生state的新状态&#xff0c;或者通过action来响应state的变化。不过&#xff0c;如果你确实需…

C++编程小游戏------斗罗大陆(1)魂力测评和武魂觉醒

#include <bits/stdc.h> #include <windows.h> using namespace std; string name,wh; int hl,wh1; int gj50,fy50,jy5000,hp60; int main() { // 共十个武魂["昊天锤","蓝电霸王龙","七杀剑","火凤凰","尖尾雨燕&qu…

ES6 数值的扩展(十八)

1. 二进制和八进制字面量 特性&#xff1a;可以直接在代码中使用二进制&#xff08;0b 或 0B&#xff09;和八进制&#xff08;0o 或 0O&#xff09;字面量。 用法&#xff1a;简化二进制和八进制数值的表示。 const binaryNumber 0b1010; // 二进制表示 10 const octalNumb…