Jmeter增强脚本 Jmeter运行原理、 添加断言、添加事务、参数化、负载测试、关联、自定义函数、用户自定义变量
Jmeter简介
JMeter™ 应用程序是开源软件,是一个100%纯Java应用程序,设计用于加载测试功能行为和测量性能。它最初设计用于测试Web应用程序,但后来扩展到其他测试功能。
Jmeter 运行原理
1、添加断言
1)先根据“结果树”中的“HTML”中的“响应数据”,找到需要检查的网页中的文本
2)复制上述内容,根据“结果树”中的“Text”中的“响应数据”,确定最终确定要 检查的文本(可能含有标签)
3)在线程组下找到需要检查的 url,右击“添加”→断言→响应断言
-->断言与页面的位置关系
2、添加事务
1)右击 step1→添加→逻辑控制器→事务控制器。
2) 拖动事务位置,将 url 拖动到合适的事务中。
3、参数化
1)配置元件→CSV Data Set Config
--》使用
将原来参数的“值”改为“${参数名}”
--》数据
4、负载测试
单击“Thread Group”,设置“线程数”为并发人数 ;一个线程对应一个模拟用户。
Ramp-Up Period(in second)
线程启动开始运行的时间间隔,单位是秒,即所有线程在多长时间内开始 运行。 如设置线程数为 200,数据为 75 秒,相当于 15s 加载 40 个用户。
5.Debug Sampler
6、BeanShell Sampler
7、关联
1)查看结果树,找到出错页面
2)定位错误数据(需要每次获取服务器端数据,再次发送)
3)在错误页面的上(或者上上.....)个页面查询userSession
--》进入页面 4 ,复制出userSession的标签
<input type=hidden name=userSession value=130523.922478736zHVDictpczcftAcicpQtffHf>
定义左右边界
左边界:<input type=hidden name=userSession value=
右边界:>
在页面4之上添加:正则表达式提取器
位置如下:
---》填写正则表达式
定义左右边界
4)在需要userSession的页面,进行参数引入即可。
自定义函数
1)编写 Java 类编写Java类,导出
2)Jmeter 导入包 测试计划→Add directory or jar to classpath 处:浏览,找到包
3)BeanShell 引用函数
import com.SplitStr; //包名.类名 vars.put("number",com.SplitStr.split("${banci}",";"));
vars.put("新参数名","常量值或参数名");
- 常量值或参数结果存入新参数中
- 无法在 BeanShell 的请求和响应中看到新参数值
- BeanShell 后面的 url 以及请求中可以使用该参数
循环控制器
1)右击 Step→添加→逻辑控制器→循环控制器
循环最好放在事务之外。 CSV Data 要放在循环之中。
2) 添加计数器,查看循环次数。
计数器要放在循环内部
用户自定义变量
1)添加用户自定义变量元件
2)添加变量,将服务器ip换成${serverIP}
3)保存脚本,关闭jmter
4)用记事本打开jmeter,搜索localhost替换为${serverIP}
保存记事本,并关闭。再次打开jmeter,IP已被替换