Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)

1.简介

  在性能测试中为了真实模拟用户请求,往往我们需要让提交的表单内容每次都发生变化,这个过程叫做参数化。JMeter配置元件与前置处理器都能帮助我们进行参数化,但是都有局限性,为了帮助我们能够更好地进行参数化,JMeter提供了一组函数来帮助我们参数化生成需要的数据,这些函数可以函数助手面板来进行编辑。当然函数助手的功能不仅仅是做参数化,还能帮助我们运算、字符编码格式转换、获取运行时参数等功能。下面宏哥介绍和分享一下函数助手中的函数。

JMeter提供了很多函数,如果能够熟练使用,可以为脚本带来很多方便。可以很方便的实现一些小功能,几乎可以用于测试计划中的任何元件。

JMeter函数是一种特殊值,可用于除测试计划外的任何组件。

函数调用的格式如下所示:

${__functionName(var1,var2,var3)}

其中,“__”是两个英文半角的下划线,functionName为函数名,括号内是函数的参数,无参数时可以不用括号,如${__UUID},其中参数视不同函数而定。

Tips:

如果参数包含逗号,那么一定要使用“\”来转义,否则JMeter会把它当作一个参数分隔符

实际使用时,可通过函数助手对话框选择函数,设置参数后,点击生成按钮生成函数字符串。 前两篇主要介绍常用函数的主要函数,这一篇宏哥简单的说一说其他有用的函数。

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386  

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click

2.JMeter 中的常用函数中的其他函数

2.1__machineName

__machineName函数__machineName返回本机的主机名;

1、我们先来看看这个__machineName长得是啥样子,路径:函数助手 > 选择__machineName,如下图所示:

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第1张图片

 

2、关键参数说明

Name of variable in which to store the result(optional)为函数名称名称:这里我们设置为任意有意义的,即用于存储在测试计划中其他的方式使用的值 

3、实例

${__machineName()}

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第2张图片

 计算机名字:

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第3张图片

 2.2__machineIP

__machineIP返回电脑IP。

1、我们先来看看这个__machineIP长得是啥样子,路径:函数助手 > 选择__machineIP,如下图所示:

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第4张图片

2、关键参数说明

Name of variable in which to store the result(optional)为函数名称名称:这里我们设置为任意有意义的,即用于存储在测试计划中其他的方式使用的值 

3、实例

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第5张图片

电脑的IP:

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第6张图片 

2.3__base64Decode和__base64Encode

__base64Decode用于解密,__base64Encode用于加密

1、我们先来看看这个__base64Decode \ __base64Encode长得是啥样子,路径:函数助手 > 选择__base64Decode \ __base64Encode,如下图所示:

__base64Decode

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第7张图片

__base64Encode

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第8张图片 

2、关键参数说明

第一个参数:被加密/解密的字符串

第二个参数:用于存储的变量名,不必填

2.4__V

函数__V可以用于执行变量名表达式,并返回执行结果。它可以被用于执行嵌套函数引用(目前JMeter不支持)。

1、我们先来看看这个__V长得是啥样子,路径:函数助手 > 选择__V,如下图所示:

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第9张图片

2、关键参数说明

Name of variable (may include variable and function references):变量名表达式

3、例如,如果存在变量A1、A2和N=1,则:

  ${A1}:能正常工作。

   ${A${N}}:无法正常工作(嵌套变量引用)。

   ${__V(A${N})}:可以正常工作。A${N}变为A1,函数 __V返回变量值A1。

2.5__evalVar

函数__evalVar可以用来执行保存在变量中的表达式,并返回执行结果。

如此一来,用户可以从文件中读取一行字符串,并处理字符串中引用的变量。

1、我们先来看看这个__evalVar长得是啥样子,路径:函数助手 > 选择__evalVar,如下图所示:

 Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第10张图片

3、例如,假设变量"query"中包含有"select ${column} from ${table}",而  "column"和"table"中分别包含有"name"和"customers",那么${__evalVar(query)}将会执行"select name from customers"。

2.6__eval

函数__eval可以用来执行一个字符串表达式,并返回执行结果。

如此一来,用户就可以对字符串(存储在变量中)中的变量和函数引用做出修改。

1、我们先来看看这个__eval长得是啥样子,路径:函数助手 > 选择__eval,如下图所示:

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第11张图片

 

2、关键参数说明

Text containing variable and function references:包含变量和函数引用文本

3、例如,给定变量name=Smith、column=age、table=birthdays、SQL=select ${column} from ${table} where name='${name}',那么通过${__eval(${SQL})},就能执行"select age from birthdays where name='Smith'"。这样一来,就可以与CSV数据集相互配合,例如,将SQL语句和值都定义在数据文件中。

2.7__escapeHtml

函数__escapeHtml用于转义字符串中的字符(使用HTML实体)。支持HTML 4.0实体。帮我们把字符转换成HTML格式的字符,比如引号转换成HTML就是",比如空格就是 ,这样编码传给浏览器,浏览器就能识别引号和空格了。

1、我们先来看看这个__escapeHtml长得是啥样子,路径:函数助手 > 选择__escapeHtml,如下图所示:

 Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第12张图片

2、关键参数说明

String to escape:待转义的字符串;

3、实例

(1)使用函数助手,生成我们要调用函数的表达式,要转换中国”,如下图所示:

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第13张图片

 (2)建立测试计划开始调用函数,我们转换了“中国”,如下图所示:

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第14张图片 

 (3)保存测试计划,点击运行Jmeter,查看结果,如下图所示:

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第15张图片 

2.8__unescapeHtml

函数__unescapeHtml用于反转义一个包含HTML实体的字符串,将其变为包含实际Unicode字符的字符串。支持HTML 4.0实体。

如果函数不认识某个实体,就会将实体保留下来,并一字不差地插入结果字符串中。例如,">&zzzz;x"会变为">&zzzz;x"。

1、我们先来看看这个_unescapeHtml长得是啥样子,路径:函数助手 > 选择_unescapeHtml,如下图所示:

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第16张图片

2、关键参数说明:

String to unescape:待反转义字符串

3、实例

(1)使用函数助手,生成我们要调用函数的表达式,要转换"中国"如下图所示:

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第17张图片

(2)建立测试计划开始调用函数,我们转换了"中国",如下图所示:

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第18张图片 

 (3)保存测试计划,点击运行Jmeter,查看结果,如下图所示:

Jmeter(二十五) - 从入门到精通 - JMeter函数 - 下篇(详解教程)_第19张图片 

 

 

 

 

 

 

 

 

你可能感兴趣的:(jmeter,selenium,python,软件测试,开发语言)