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使用注意事项的更多相关文章

  1. Jmeter分布式测试需要注意事项

    Jmeter分布式测试需要注意事项: 1. 如果脚本中有用到CSV Data Set Config,则所有的模拟机都必须在相应的目录下存在该文件.如下图,则必须所有模拟机的F盘下都有user.txt文 ...

  2. jmeter跑脚本的注意事项

    指标主要看以下几点: 1.jmeter性能测试的报告,不要看平均响应时间,而是看90%响应时间,一般不能超过3s,超过3s则不符合标准2.响应时间超过3s就要优化,但不是平均响应时间,因为最小响应时间 ...

  3. jmeter笔记8

     JMETER接口性能测试方案 JMETER简介          JMeter可以用于测试静态或者动态资源的性能(文件.Servlets.Perl脚本.java对象.数据库和查询.ftp服务器或者其 ...

  4. jmeter学习之安装篇(一)

    一.Jmeter简介 Jmeter是Apache组织开发的基于Java开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此,常被用做接口功能测试和性能测试. Jme ...

  5. jmeter(二十七)分布式压测注意事项

    之前的博客:jemter(二十三):分布式测试简略的介绍了利用jmeter做分布式测试的方法,当时只是介绍了背景和原因,以及基本的配置操作,有同学说写得不够详细. 正好今年双十一,我司的全链路压测,也 ...

  6. jmeter进行分布式压测过程与 注意事项

    jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对jmeter进行分布式 ...

  7. Jmeter入门(4)- 注意事项

    一.中文乱码问题的解决方法 1. 将HTTP请求的内容编码改成UTF-8 2. 修改配置文件jmeter.properties 将jmeter安装目录的bin目录下的jmeter.properties ...

  8. jmeter系列-------注意事项

    1.自己创建的数据自己擅长,不要留垃圾数据 2.每个接口都需要增加断言,保证脚本的结果的正确性 3.相同的应用放在一个简单控制器下,所有的应用尽量放在一个线程组下面,将特殊场景单独抽离成一个线程组 4 ...

  9. JMeter循环控制器循环次数使用变量控制注意事项

    1.进入循环控制器之前变量要有值: 2.BeanShell处理文件,读取行数,赋值给变量,要有相应的Sampler,不然脚本不会运行. 对于单个线程来说,假如设置了循环2次,线程启动后,运行结束,此时 ...

随机推荐

  1. 利用Gson将JSON数据进行格式化(pretty print)

    我们可以利用Gson包将String类型的JSON数据进行格式化. Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonPa ...

  2. PHP设计模式系列 - 单例

    单例模式 通过提供自身共享实例的访问,单例设计模式用于限制特定对象只能被创建一次. 使用场景 例如数据库实例,一般都会走单例模式. 单例模式可以减少类的实例化 代码:来源InitPHP框架,先检测类有 ...

  3. 算法题:整形数组找a和b使得a+b=n

    题目: 数组 A 由 1000 万个随机正整数 (int) 组成,设计算法,给定整数 n,在 A 中找出 a 和 b,使其符合如下等式: n = a + b 解题思路: 1. 1000w个随机正整数占 ...

  4. chrome的uget扩展程序红色 Unable to connect with uget-integrator问题

    我们根据网上的教程在ubuntu16.04中安装下载工具uget+aria2并配置chrome时,最后重新打开chrome浏览器,发现uget扩展程序是红色的,点开看到”Unable to conne ...

  5. virtualbox+vagrant学习-2(command cli)-23-vagrant version命令

    Version 格式: vagrant version options只有 -h, --help 该命令将告诉你已安装的vagrant版本以及当前可用的vagrant最新版本. userdeMacBo ...

  6. vs未能正确加载XXX包,编译时停止工作问题

    出现这个问题的原因可能是配置更改或安装了另一个扩展,幸好之前用的不多,重新进行用户配置代价也不高,打开Visual Studio Tools:  选择VS2013 开发人员命令提示:  输入deven ...

  7. sed 替换有单引号的行

    cat test.txt $config['useragent'] = 'Roundcube Webmail'; // Hide version number//$config['username_d ...

  8. 404 Note Found 队-Beta7

    目录 组员情况 组员1:胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:恺琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:何宇恒 组员11:刘一好 展示组内最新 ...

  9. chrome 浏览器插件开发(一)—— 创建第一个chrome插件

    最近在开发一个chrome插件,在网上找到了一些的文章,虽说按照文章可以写出对应的例子,但若要进行实际开发,发现还是有不少文章中没有的坑.下面我将结合我在开发过程中遇到的几个方面,对这些坑做一下补充. ...

  10. Golang并行判断素数

    ## Golang多核判断素数方式 package main import ( "bufio" "fmt" "os" "runti ...