首页 > 其他分享 >Jmeter-重要的函数

Jmeter-重要的函数

时间:2023-02-04 09:11:21浏览次数:34  
标签:__ jmeter 重要 函数 线程 var Jmeter 属性

 

${__counter(,)} 计数器-加1的功能

疑问:假如加2,使用计数器       -计数器超过最大值后重新开始计数
重点:最大值, 如果运行结果超过最大值时,又会从起始值开始循环
每个用户独立计数器: 多线程时,每个用户都是从起始值开始计数,跟线程号有关(${__threadNum} 获取线程号函数)

计数器注意事项如图显示:

 时间相关的几个函数

${__time(,)} 默认获取当前时间戳函数,但可以设置格式,比如yyyy-MM-dd 年月日的格式 HHmmss 时分秒 S毫秒
${__dateTimeConvert(,,,)} 时间格式转换,默认转换当前时间,参数为时间,原来的格式,目标格式
${__timeShift(,,,,)} 数据格式化,时间偏移---直接查看帮助文档,时间区间,可能要用到
${__RandomDate(,,,,)} 随机日期

 加密函数- ${__digest(,,,,)} 

加密  简单加密

  ${__intSum(,,)}  整数相加函数

 属性相关的函数

${__P(,)} 获取属性函数
${__property(,,)} 获取属性函数--P 只是property这个函数的简写
${__setProperty(,,)} 设置属性函数--设置jmeter的动态属性

属性: 以.properties结尾的文件,都是jmeter的属性配置文件,是jmeter工具自身带有的标签。
jmeter工具属性:
  • jmeter属性:可能被改变
    静态属性:写在properties文件中属性信息,都是静态属性
    动态属性:运行过程中,动态定义属性
  • 系统属性: os、jdk ===这个系统属性信息,是不可改变

问题1:属性vs参数\变量区别
  属性是jmeter工具具有,所有,jmeter中的线程组要使用属性,都可以使用
  参数、变量,有局限访问
问题2:动态属性:一直存在?还是朝生夕死?
----------动态属性,是在运行过程中产生的,关闭jmeter,就是自动释放了。
问题3:线程组执行顺序-并行的?取样器是从上到下的
jmeter中,多个启用线程组,在执行时,默认是并行执行,性能测试中就是并行执行
在性能测试中,我们不会勾选 测试计划中 “独立运行每个线程组”
因为混合场景设计不会等一个线程组运行结束后再取运行其他线程组,就是说一个可能登录,一个人可能在注册,模拟的是多个人,所以不同场景

 

 

 

 

 跨线程组引用动态属性的方法

  1. 获取线程组1的变量保存为新的属性名-${__setProperty(,,)} 设置属性函数--设置jmeter的动态属性
  2. 属性显示里可以查看到保存的属性
  3. 线程组2引用步骤1保存的属性名 -${__P(,)} 获取属性函数

可能第一个还没获取到值,但因为性能测试是是并行的大量的,第1.2个获取不到值不影响大局

拼接函数-${__V(,)}   拼接函数 

错误方法:${var_${__counter(,)}} -----我们期望它得到过程是${var_1} ${var_2} ${var_3} 最终的结果是变量的值 实际是要进行两次变量计算

正确方法:
${__V(var_${__counter(,)},)} -----“前缀_可变后缀” 变量名值

应用场景:
类似: var_1 var_2 前缀相同,后缀是递增数字的变量名称,常见于 jdbc从数据库中获取数据时
select name from table where id like '123%'; ---结果可能有多条数据
这个脚本就会返回多个name值, 我用table_name这个变量来接收值,table_name_1,table_name_2

 

标签:__,jmeter,重要,函数,线程,var,Jmeter,属性
From: https://www.cnblogs.com/shishibuwan/p/17085624.html

相关文章

  • Jmeter学习:接口测试参数化后循环断言不同内容的方法
    方法一:一:参数化接口测试数据  设置线程组迭代次数实现循环。二:添加配置元件-计数器拼接函数,嵌套变量 这个是jmeter自带的函数,可以用用这个函数进行字符串的......
  • 字符串分割函数
    1intsplitstr(conststd::string&str,chartag)2{3vector<string>vec_str;4std::stringsubStr;5for(size_ti=0;i<str.length();......
  • Java如何向主函数main中传入参数
    方法一:命令行java-jarWhite-1.0-SNAPSHOT.jar123方法二:javacGreenLeaf.javajavaGreenLeaf123方法三:IDEA->Run->EditConfigurations->Configuration->......
  • JDK8 四大核心函数式接口及扩展接口总结
    前言 Java8的四大函数式接口及相关的扩展接口在日常使用中的频率也是非常多的,包括自己定义的函数式接口,在JDK1.8之前,我们定义的方法都是用来接收参数,然后自己根据参数传......
  • JMeter笔记11 | JMeter事务
    (11|JMeter事务)1 事务性能测试比较关注TPS,而TPS代表每秒事务数;每个事务对应的是每个请求;JMeter把每个请求统计成一个事务;JMeter也可以把多个操作统计成一个事务,可......
  • Jmeter+Maven接口自动化搭建
    1.Jmeter脚本录制/编写Jmeter脚本(不做描述)2.Maven项目配置1、创建一个Maven工程            2、在src/test目录下新建一个jmeter的目录,用来存......
  • strcpy函数
    strcpy,即stringcopy(字符串复制)的缩写。strcpy是C++/C语言语言的一个标准函数  ,strcpy把含有'\0'结束符(停止拷贝的终止条件)的字符串复制到另一个地址空间,返回值的类型为......
  • JavaScript函数详解:匿名函数、具名函数、函数传参、不定参、返回值、JS预解析机制
     JavaScript函数详解:匿名函数、具名函数、函数传参、不定参、返回值、JS预解析机制  1.具名函数 定义: 调用:方式1:方法名();可以多次调用  ......
  • 前端——函数(匿名函数、自执行函数)
    前端——函数(匿名函数、自执行函数)FreshLemon_于2019-06-1117:11:49发布函数声明:functionbox(){}函数表达式:varbox=function(){};匿名函数:function(){}......
  • C++ 哈希表查询_进入哈希函数结界的世界
    1.前言哈希表或称为散列表,是一种常见的、使用频率非常高的数据存储方案。哈希表属于抽象数据结构,需要开发者按哈希表数据结构的存储要求进行API定制,对于大部分高级语言......