原文链接:https://www.cnblogs.com/jessicaxu/p/7512680.html
1.函数助手对话框-常用的Jmeter函数
(一级菜单栏->选项->函数助手对话框)
1、Random:在最大值和最小值之间取一个随机值。有三个参数:最大值,最小值,获取的随机值的变量名
例如,生成[1,100]内的随机函数
注意:在设置线程属性时,循环次数必须大于1,随机函数才会生效
例如${Random(1,100,)},当设置线程数=10,循环次数=1时,10次随机函数的结果都是1;当循环次数>1时,才会随机取值
2、P:设置属性的默认值。有两个参数:变量名,默认值(默认值为1)。例如:${P(hostname,XXX)}:返回属性hostname的值,如果没有定义该属性则返回值XXX
3、CSVRead:从CSV文件中读取字符串。有两个参数:文件名,第几列(0表示第一列)
4、${UUID}:随机取值,且结果唯一;区别于__Random(随机取值,结果有可能相同)
5.再请求参数中使用这些函数
2.通过cvs文件
1、创建:添加->配置元件->CSV Data Set Config
2、作用:可以从.csv、.dat等文件中获取数据,并将这些数据参数化。当数据发生变化时,只需要改原始文件,不需要改脚本
3、参数含义
Sharing Mode:共享模式: All threads:所有线程,所有线程循环取值,线程1取第一行,线程二取下一行;Current thread group:当前线程组,各个线程组分别循环取值;Current thread:该测试计划内的所有线程都取第一行
3.Test Plan中添加变量
可以在Test Plan中设置好变量名,变量名可以在任意的位置引用,比如说在线程组中直接用${变量名}方式引用变量,步骤如下:
- 设置变量名和变量值
- 添加线程组
- 添加Sampler
- 添加View Results Tree
- 引用变量:${}
- 查看执行结果
4.通过Config Element添加变量
- 添加线程组
- 添加Sampler
- 添加View Results Tree
- 通过Config Element添加变量
- 设置变量
变量名为url,变量值为www.sina.com
- 引用变量
- 查看执行结果
- 在Test Plan中设置变量:url=www.sohu.com
- 查看执行结果
和步骤7)的结果是一致的,请求的都是新浪
- 说明
- 如果在Test Plan中也设置了同样的变量名,那么会变量引用时会采用就近原则取值,比如在Test Plan中设置变量url值为www.sohu.com,再次执行脚本请求的仍然是新浪;(尽量不要重复定义相同的变量名)
- 新生成的User defined Variables放在最后也是没有问题的,只要是同级目录下就都能访问到,和顺序没有关系。
5.通过User Parameter
可以针对不同的线程定义不同的变量,前面的2种方式是做不到的。
- 添加线程组
- 添加第1个HTTP Request
- 添加第2个HTTP Request
- 添加View Results Tree
- 添加User Parameters
- 设置变量两组变量值
如图添加两个变量url1和url2,url1有两个user分别为www.sohu.com和www.sina.com;url2有两个user分别为www.iciba.com和cn.bing.com
- 第1个HTTP请求中引用变量url1
- 第2个HTTP请求中引用变量url2
- 默认开1个线程的执行结果:
分别执行了url1和url2中uer_1对应的url
- 开2个线程的执行结果:
把设置的4个url都执行了一遍
- 开3个线程的执行结果: