jmeter

取样器的执行顺序:从上往下

函数助手对话框:__V setProperty __P 函数助手中帮助

函数跨线程组:

用户定义变量:在这里写入一个变量名phone,变量值为函数对话框中设置的变量,将变量名写入到http请求中的${phone},在注册和登录接口中拿到的phone是同一个值

用户参数:但用用户参数的变量名放在注册和登录接口的参数中,获取到的phone不是同一个这里拿到的全局性的,每个线程每跑一次都会动态获取到一个值

 

前置处理器->用户参数:在这里写入一个变量名phone,变量值为函数对话框中设置的变量,将变量名写入到http请求中的${phone}

注册和登录取到的phone都不一样,定义出来的是全局性的,同一个线程组下每个线程获取一次,用户参数中值都会计算出来,即都会动态取这个值

用户定义变量:注册和登录取到的phone都一样,再将用户定义的变量接受随机函数,再将用户定义的变量写到接口中

同一个线程组下只有初始化的时候计算一次值,在线程组该值不会变的

CSV数据文件设置中线程共享模式:

当前线程组:用户定义变量

当前线程:用户参数,每次线程都会计算一次

概念:

线程组:

线程:

常用函数的处理:

random:随机数

time:如果参数为当前日期,那么公式为${__time(yyyy-MM-dd,)}或者${__time(YMDHMS,)},

格式化生成时间格式 2018-06-01 11:08:23:787 :${__time(yyyy-MM-dd HH:mm:ss:SSS,time)}

精确到毫秒级,13位数1543234323232:${__time(,)}

精确到秒级别,10位数:${__time(1000,)}

__V:两个变量参数的拼接,一般在读取数据库场景中用的多但一个函数加一个字符串不需要 ${__V(${变量1}_${变量2})}

密码加密的处理:digest函数,例如MD5加密

setProperty:设置属性,属于全局变量,可以实现跨线程组,属性可以跨,变量不能跨

P或者property:获取属性

time:生成时间戳

1个线程组循环100次与100个线程组循环1次有什么区别,对服务器压力的话是不是是一样的效果?

有,因为一个线程组不断循环,终究是线性顺序执行的,这属于压力测试范畴;而后者100个同时启动,属于并发性测试,对CPU冲击性更大,也是你说的“压力”的本质。
在不考虑 压力测试中的内存泄漏时,处理后者的“压力”必然是更大的

原文地址:https://www.cnblogs.com/ella-li/p/12185881.html