当前位置:   article > 正文

Jmeter基础-变量和函数_jmeter什么是变量

jmeter什么是变量

通过Jmeter手动添加用户变量的方式

测试j计划添加用户参数
在这里插入图片描述
线程组添加用户参数
在这里插入图片描述

具体任务添加用户参数
在这里插入图片描述

在这里插入图片描述

当然还有其他的添加变量的方式,但是其他方式都需要写代码这里就不多说了,之后会讲

我们演示下创建变量,(一般在线程组里创建变量的比较多,因为一个线程组内的所有任务都是同类的)

在这里插入图片描述

变量的作用域

变量的作用范围是他本身和后代

测试计划>线程组>任务

比如在线程组中添加的变量那么,这样当前这线程组合他内部的任务可以共享

使用变量

语法: ${ 变量名} 只要能输入的地方都能使用变量

在这里插入图片描述
在请求体或者其他任意地方其实都能使用的

在这里插入图片描述
在这里插入图片描述

… 至于其他地方就不在一一演示了,自己慢慢探索把,反正只要是能输入的地方都能使用的

函数

使用jmeter函数需要借助函数助手来帮助我们直接生成可使用的函数
点击jmeter的界面,功能栏选项→ 函数助手对话框
在这里插入图片描述
这个下拉框里都是Jmeter可以使用的函数
在这里插入图片描述
下面我们就简单介绍下常用的函数

_CSVRead

从数据库中导出csv格式的文件,我使用的是Navicat,注意去掉双引号
在这里插入图片描述

把第一行删除,
在这里插入图片描述

在这里插入图片描述
点击生成后会自动将函数拷贝到粘贴板中你直接复制就能使用
在这里插入图片描述
${__CSVRead(,)} 使用方式(参数1文件位置,参数2占位符从0开始):

${__CSVRead(C:\Users\huanmin\Desktop\t_user.csv,0)}
${__CSVRead(C:\Users\huanmin\Desktop\t_user.csv,1)}
在这里插入图片描述

StringFromFile

每次读取文件一行
在这里插入图片描述

__FileToString

函数__FileToString可以被用来读取整个文件。每次对该函数的调用,都会读取整个文件。

__machineName和__machineIP

返回主机名称和主机的ip
在这里插入图片描述

在这里插入图片描述

__javaScript

  1. 函数__javaScript可以用来执行JavaScript代码片段(非Java),并返回结果值。
  2. JMeter的_javaScript函数会调用标准的JavaScript解释器,还可以直接调用jmeter的内置函数。
  3. 请记得为文本字符串添加必要的引号。另外,如果表达式中有逗号,请确保对其转义。例如,${__javaScript('${sp}'.slice(7\,99999))},对7之后的逗号进行了转义。

__Random:随机数函数(数值)

函数__Random会返回指定最大值和最小值之间的随机数。
在这里插入图片描述

_RandomString():随机字符串函数

1、Random string length:随机字符的长度

2、Chars to use for random string generation:用来生成随机字符串的字符,可以是纯数字,纯字符,字符字母数字组合

3、Name of variable in which to store the result (optional):随机生成的字符被变量保存

在这里插入图片描述

__property

函数__property会返回一个JMeter属性的值。如果函数找不到属性值,而又没有提供默认值,则它会返回属性的名称。

${__property(user.dir)}:返回属性user.dir的值。
${__property(user.dir,UDIR)}:返回属性user.dir的值,并保存在变量UDIR中。
${__property(abcd,ABCD,atod)}:返回属性abcd的值 (如果属性没有定义,返回"atod"),并保存在变量ABCD 中。
${__property(abcd,atod)}:返回属性abcd 的值(如果属性没有定义,返回"atod"),但是并不保存函数的返回值。

在这里插入图片描述

_P

1、函数_P是一个__property简化版的属性函数,目的是使用命令行中定义的属性。

2、不同于函数_property,本函数没有提供选项用于设置保存属性值的变量。另外,如果没有设置默认值,默认值自动设为1。

列: jmeter -Jgroup1.threads=7 -Jhostname1=www.realhost.edu

获取值如下:

${__P(group1.threads)}:返回属性group1.threads的值。

${__P(hostname1)}:返回属性hostname1 的值。

${__P(hostname,www.baidu.com)}:返回属性hostname的值,如果没有定义该属性则返回值www.baidu.com。

在上面的例子中,第一个函数调用返回7,第二个函数调用返回www.realhost.edu

__log

函数__log会记录一条日志,并返回函数的输入字符串。

${__log(Message)}:写入日志文件,形如"…thread Name : Message"。

__split

1、函数__split会通过分隔符来拆分传递给它的字符串,并返回原始的字符串。如果分隔符紧挨在一起,那么函数就会以变量值的形式返回"?"。拆分出来的字符串,以变量${VAR_1}、{VAR_2}…以此类推的形式加以返回。

2、分隔符默认是逗号,如果你想要多此一举,明确指定使用逗号,需要对逗号转义,如“,”

在这里插入图片描述

__setProperty

函数__setProperty用于设置JMeter属性的值。函数的默认返回值是空字符串,因此该函数可以被用在任何地方,只要对函数本身调用是正确的。

属性对于JMeter是全局的,因此可以被用来在线程和线程组之间通信。

在这里插入图片描述

__time

函数__time可以通过多种格式返回当前时间。
YMD = yyyyMMdd。
HMS = HHmmss。
YMDHMS = yyyyMMdd-HHmmss。
YMDHMS = yyyy/MM/dd HH:mm:ss。

在这里插入图片描述

__eval

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

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

2、例如,给定变量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语句和值都定义在数据文件中。

__urlencode和

__urlencode 转码
${__urlencode(${__urldecode(https://www.cnblogs.com/zengjindong/p/10912175.html)})}
在这里插入图片描述

__urldecode 解码
${__urldecode(https%3A%2F%2Fwww.cnblogs.com%2Fzengjindong%2Fp%2F10912175.html)}
在这里插入图片描述

__UUID

${__UUID}
在这里插入图片描述

__escapeXml 和__escapeHtml

将xml特殊字符转义
在这里插入图片描述

__counter

每次一个线程执行一次计数器就会加一

${__counter(FALSE,)}
在这里插入图片描述

__changeCase

大小写转换 LOWER都是小写 CAPITALIZE都是大写
${__changeCase(AAAvvvddd,LOWER,)}
在这里插入图片描述
在这里插入图片描述

点赞 -收藏-关注-便于以后复习和收到最新内容
有其他问题在评论区讨论-或者私信我-收到会在第一时间回复
如有侵权,请私信联系我
感谢,配合,希望我的努力对你有帮助^_^

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/63759
推荐阅读
相关标签
  

闽ICP备14008679号