【第十天】jmeter元件详解之函数助手

性能测试过程中为了真实模拟用户请求,我们需要让提交的表单内容每次都发生变化,这个过程叫做参数化。

jmeter配置元件和前置处理器都能帮我们参数化,但是有局限性。

函数助手不仅是做参数化,还可以帮助我们进行运算、字符编码格式转化、获取运行时参数等功能。

函数调用都是以${__function()}这种形式开始的,__:两个英文半角下划线;function:函数名

1、__BeanShell脚本语言

支持BeanShell脚本语言。

例如:在Java请求中设置Label为${__BeanShell("shanghai"+"road")},Sampler中以这样的方式去调用此函数,把这两个字符串连接在一起了。

2、__char

把一组数字转化成Unicode字符。例如输入65、66两个数字,转成Unicode码就是A、B字母

3、__counter

作为一个计数器使用,支持多线程。

4、__CSVRead

从文件中读取指定列的值,功能:a、读取固定值:从testvalue.txt读取第0列;b、读取动态值:${__CSVRead(D:\testvalue.text,next())}  c、可以使用文件别名:使用testfile作为D:\testvalue.txt文件的别名,在Java请求中可以使用${__CSVRead(*testfile,1)}来读取文件中的值

5、__escapeHtml

把字符转换成HTML格式的字符。比如引号转成HTML就是 &quto 空格就是&nbsp

6、__escapeOroRegexChars

把正则表达式转换成Java正则能够识别的表达式

7、__eval

返回一个表达式的值,可以用此函数表达式来嵌套引用表达式

8、__evalVar

用来返回表达式的结果,并把结果存入一个变量,供Sampler引用

9、__FileToString

用来读取文件,可以一次性读取文件内容,然后保存到变量;此变量之后可以由其他Sampler引用

10、__intSum

对整数求和,支持多个整数累加,多个数之间用逗号分隔

11、__longSum

把整数变成了长整型

12、__javaScript

返回JavaScript脚本的执行结果,也可以调用JavaScript中的库函数

13、__jexl

提供对Jakarta Commons Jexl表达式的支持

${__jexl2(vars.get("START.YMD"),test)}

14、__log

日志方法,返回输入的字符串信息。

也可以写日志

15、__logn

与_log相似,不过只记录一条日志,不返回值而已

16、__machineIP

该函数引用返回本机IP

17、__machineName

返回本机的机器名。

18、__P

获取属性的函数。可以获取命令行中定义的属性,默认值为1。

19、__property

用来获取jmeter的属性。

例:在jmeter.properites中设置的日志级别是INFO,所以${__property(log_level,jmeter,logLevel)}获取的也是INFO

20、__Random

随机数函数,可以生成一个一定范围内的随机数并保存到指定变量,此变量可以被其他的Sampler引用。

21、__RandomString

随机字符串函数,支持中文。可以生成指定长度的随机字符串并保存到指定变量。

22、__regexFunction

正则表达式提取函数,此函数用来正则匹配上一个Sampler的返回值。

例:用road(.*) china来匹配111

函数选用:${__regexFunction(road(.*) china,$1$,1,,,,)}    结果:Label是111

23、__samplerName

获取当前sampler的名称

24、__setProperty

动态设置jmeter属性

25、__split

拆分字符串。

26、__StringFromFile

该函数从文件中读取内容,一行一行的读取,类似与CSV Data Set Config元件;当读完后悔重头开始。每调用此函数一次将打开一次文件。

27、__TestPlanName

返回测试计划的名称,即当前脚本的文件名

28、__threadNum

返回当前线程号

29、__time

返回当前时间,可以指定返回格式。

yyyy-MM-dd HH:mm:ss

30、__unescape

反转escape字符,如:\r\n转成CRLF

31、__unescapeHtml

反转URL链接中的Unicode编码字符,如:  转成空格

32、__urldecode

反转URL链接中的Unicode字符

例:Word +%22school%22-->Word "school"

33、__urlencode

把URL链接中的escap字符转化成Unicode编码

例:Word "school"-->Word+%22school%22

34、__UUID

生成的字符串是唯一存在的

35、__V

该函数用来执行变量表达式并返回结果。

需要嵌套的使用变量

36、__XPath

该函数可以从XML格式的文件中匹配内容,每次调用返回一个匹配值,到达尾部从头开始。匹配不到返回空。_XPath使用XPath表达式来匹配XML文件中的内容。

例:/company/name/address/text()

text()用来取address节点对应的文本内容,于是:${__XPath(D:\leg.xml,/company/name/address/text())}可以取得beijing这串字符

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容