JMeter的__threadGroupName使用注意事项
JMeter从4.1版本开始引入了一个新函数“${__threadGroupName}”,这个函数的作用是返回当前线程组的名字。${__threadGroupName}的用途也较为广泛,比如:
在非图形界面执行时,在日志中记录不同脚本的出错信息使用。
用于定义不同脚本(ThreadGroup)特有的标识,如特有的属性(Property)、字符串等。
不过__threadGroupName的使用是有注意事项的,不能在任何配置元件(Configuration elements)中使用,比如User Defined Variables,包括Test Plan的User Defined Variabels中也不能用。如果在这些地方中使用
脚本执行的时候就会有如下的错误:
jmeter.log中则会有指示稍微明显一点的错误记录,提示我们是ThreadGroupName相关的
比较令人崩溃的是,当不小心这样误用了ThreadGroupName后,JMeter的界面就无法正常关闭了,点X或者从File->Exit菜单中退出,JMeter都会提示有测试正在执行,不能正常结束,只能通过任务管理器杀java进程来关闭JMeter窗口。
我在刚开始用的时候,就在这个问题上浪费了很长的时间,以致于一度想去官网提bug。后来翻JMeter的函数手册,结果发现在函数的说明中对此有一段明确的使用禁忌说明和一个bug描述
按照这个说明,除了配置元件部分,其他的地方都可以使用,也就是说在Sampler取样器、前置/后置处理器、断言中都可以放心使用。可是~~BUT~~~
经过一天痛苦的试验,在前置处理器、后置处理器、断言上尝试了好久,终于发现BeanShell、JSR223的前置处理器、后置处理器、断言均不能用。唯一可以比较稳定使用的就是前置处理器中的User Parameters。当使用的时候,我们在User Parameters中定义一个参数,值设置为${__threadGroupName},然后在其他的需要使用的地方直接引用这个参数。
在BeanShell、JSR223的前置、后置处理器和断言中应用JMeter的Parameters
最后再提一下,${__threadGroupName}在Sampler取样器中是可以直接使用不会报错的。
由于GFW的因素,JMeter的bug62178我还没打开,不知道要不要再去官方提交一下现在发现的这个描述和实际情况不符的bug呢?
JMeter的__threadGroupName使用注意事项的更多相关文章
- Jmeter分布式测试需要注意事项
Jmeter分布式测试需要注意事项: 1. 如果脚本中有用到CSV Data Set Config,则所有的模拟机都必须在相应的目录下存在该文件.如下图,则必须所有模拟机的F盘下都有user.txt文 ...
- jmeter跑脚本的注意事项
指标主要看以下几点: 1.jmeter性能测试的报告,不要看平均响应时间,而是看90%响应时间,一般不能超过3s,超过3s则不符合标准2.响应时间超过3s就要优化,但不是平均响应时间,因为最小响应时间 ...
- jmeter笔记8
JMETER接口性能测试方案 JMETER简介 JMeter可以用于测试静态或者动态资源的性能(文件.Servlets.Perl脚本.java对象.数据库和查询.ftp服务器或者其 ...
- jmeter学习之安装篇(一)
一.Jmeter简介 Jmeter是Apache组织开发的基于Java开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此,常被用做接口功能测试和性能测试. Jme ...
- jmeter(二十七)分布式压测注意事项
之前的博客:jemter(二十三):分布式测试简略的介绍了利用jmeter做分布式测试的方法,当时只是介绍了背景和原因,以及基本的配置操作,有同学说写得不够详细. 正好今年双十一,我司的全链路压测,也 ...
- jmeter进行分布式压测过程与 注意事项
jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对jmeter进行分布式 ...
- Jmeter入门(4)- 注意事项
一.中文乱码问题的解决方法 1. 将HTTP请求的内容编码改成UTF-8 2. 修改配置文件jmeter.properties 将jmeter安装目录的bin目录下的jmeter.properties ...
- jmeter系列-------注意事项
1.自己创建的数据自己擅长,不要留垃圾数据 2.每个接口都需要增加断言,保证脚本的结果的正确性 3.相同的应用放在一个简单控制器下,所有的应用尽量放在一个线程组下面,将特殊场景单独抽离成一个线程组 4 ...
- JMeter循环控制器循环次数使用变量控制注意事项
1.进入循环控制器之前变量要有值: 2.BeanShell处理文件,读取行数,赋值给变量,要有相应的Sampler,不然脚本不会运行. 对于单个线程来说,假如设置了循环2次,线程启动后,运行结束,此时 ...
随机推荐
- 深入浅出SharePoint——配置List通过邮件来接收内容
应用场景:在SharePoint的开发中,我们经常需要通过接收并解析Mail的方式来进行数据通信. 解决方案:通常有两种方式:一种是直接使用公司的Exchange服务器,一种是在SharePoint ...
- Shell定时删除日志
vim del_log.sh #!/bin/bash location="/home/dl/code/logs" find $location -mtime +4 -type f ...
- Matlab面向对象编程基础
DeepLab是一款基于Matlab面向对象编程的深度学习工具箱,所以了解Matlab面向对象编程的特点是必要的.笔者在做Matlab面向对象编程的时候发现无论是互联网上还是书店里卖的各式Matlab ...
- BZOJ3160:万径人踪灭(FFT,Manacher)
Solution $ans=$回文子序列$-$回文子串的数目. 后者可以用$manacher$直接求. 前者设$f[i]$表示以$i$为中心的对称的字母对数. 那么回文子序列的数量也就是$\sum_{ ...
- Python 装饰器---装饰类的两种方法
这是在类的静态方法上进行装饰,当然跟普通装饰函数的装饰器区别倒是不大 def catch_exception(origin_func): def wrapper(self, *args, **kwar ...
- grep, sed 与 awk 补补课,到底怎么用!
grep, sed 与 awk 相当有用 ! gerp 查找, sed 编辑, awk 根据内容分析并处理. awk(关键字:分析&处理) 一行一行的分析处理 awk '条件类型1{动作1}条 ...
- 使用ROS节点——Node & Master——roscore、rosrun、rosnode
1.Node 在ROS的世界里, 最小的进程单元就是节点( node) . 一个软件包里可以有多个可执行文件, 可执行文件在运行之后就成了一个进程(process), 这个进程在ROS中就叫做节点. ...
- 关于jquery的click()方法
昨天,有个同事研究了以下jqury的click()方法,代码如下: <!DOCTYPE html> <html> <head> <meta charset=& ...
- better-scroll在vue中的坑
在我们日常的移动端项目开发中,处理滚动列表是再常见不过的需求了,以滴滴为例,可以是这样竖向滚动的列表,如图所示: 也可以是横向滚动的导航栏,如图所示: 可以打开“微信 —> 钱包—>滴滴出 ...
- 【LeetCode371】 Sum of Two Integers
题目描述: 解题思路: 此题是要在不用操作符+和-的情况下,求两个整数的和.既然不能用内置的加减法,那就只能用位运算(&, |, ~, ^). (1)异或(xor):异或的数学符号为“⊕”,计 ...