6-手写Jmeter与录制
元件作用域
「取样器」
作用:只作用于自身
作用域:无作用域
「逻辑控制器」
作用:控制子节点
作用域:作用于子节点
「前置处理器」
作用:在取样器执行前执行
作用域:影响所有取样器
「后置处理器」
作用:在取样器之后执行,影响在此之后的取样器
作用域:后续取样器
「断言」
作用:取样器之后执行
作用域:当前取样器
「定时器」
作用:影响同级及子级取样器
作用域:同级及子级
「配置元件」
作用:影响同级及子级元件
作用域:同级及子级
「监听器」
作用:收集取样器执行数据
作用域:同级
取样器执行顺序
在没有逻辑控制器控制时,执行顺序为「从上往下」
查看结果树中显示的顺序是根据「收到响应的时间先后」排序的
狭义并发与广义并发
一般情况下,不会加集合点,不加集合点,是广义并发,请求量相对更大,更能体现服务器的性能
狭义的并发:需要加上集合点,总请求量会被强制降低,服务器的性能结果就不一定准确
手写脚本
HTTP请求默认值
写一次「服务器名称或IP」,其他HTTP取样器可以不用填写
取样器填写后会覆盖默认值
Cookie
当有登录接口,和需要登录之后才能正常请求的接口时,一定要加上
cookie管理器,特殊情况下才需要修改
缓存管理器
大多数情况下不使用
录制脚本
badboy录制
- 打开badboy,url地址输入访问的网址,进行相关操作
- 工具 file->export to jmeter
- jmeter打开导出文件
不推荐使用
- 工具不再维护
- 这个工具,对应新的前端写法不兼容
http代理服务器
- 新建一个项目
- 「测试计划」下添加「线程组」
- 添加「非测试元件->http代理服务器」
- 目标控制器选择 「测试计划->线程组」
- 点击「启动」,出现一个证书弹窗,自动生成证书
打开计算机的代理设置或者配置浏览器代理
操作网页
配置浏览器代理
使用「SwitchyOmega」
参数
新建一个「用户参数」
点击「添加变量」,名称为myuser
,用户_1为:15168230666
变量引用:${muser}
函数助手
修改我们的变量
修改使用处
查看运行结果
用户定义变量与用户参数
- 「用户定义变量」是全局变量,启动运行时,调用一次,在运行过程中不再调用
- 「用户参数」是局部变量,在启动时调用一次,在运行过程中,使用时也会再次调用
全局变量,只要在作用域范围内,都可以使用
局部变量,在线程组之外,是不能被使用的
jmeter的线程组之间,不能直接传递参数(局部变量)。