jmeter变量函数以及抓包用法
抓包的用法
代理服务器: 自己启动一个代理服务器
本地,要使用代理服务器的ip和端口,使用自己启动的代理服务器
操作步骤:
- 添加线程组
- 测试计划 > 非测试软件 > http代理服务器
ip就是你自己电脑的ip,port是可以修改,默认8888
目标控制器,**一定要修改 修改为** 测试计划>线程组
如果要抓取https信息时,就必须使用证书
执行抓包
脚本功能增强
关联: 前面接口的响应信息,有动态值,作为后续接口的参数参数
我需要将手机号码,发生变化,可以通过 变量来进行控制,
变量: 用户定义变量,用户参数 ---全局变量,作用于整个测试计划
在启动运行时,获取一次值,在运行过程中,不会动态获取值,在运行过程中,值一直都不变
用户参数 作用域: 作用于当前线程组或当前的取样器,在启动运行时,获取一次值,在运行过程中,还会动态获取值
在其他线程组无法获取
模拟注册和登录场景
使用用户定义变量注册 登录5次,最终可以成功登录多少个?
答案是: 1次register-success 5次login-success (因为用户定义变量 ,获取一次值,在运行过程中,不会动态获取值,在运行过程中,值一直都不变)
使用用户参数 变量注册 登录5次,最终可以成功登录多少个?
答案是:5次注册成功,0次登录失败 ,因为 用户参数 在运行过程中会动态获取信息
迭代: 一个线程组下所有的接口,全部执行完1次,才算1个迭代
函数
双下划线开头 函数名称,严格区分大小写
比较重要的是函数
- + ${__counter(,)} 计数器
- + ${__dateTimeConvert(,,,)} 时间格式转换
- + ${__digest(,,,,)} **加密** 简单加密
- + ${__intSum(,,)} 整数相加函数
- + ${__P(,)} **获取属性函数**
在其他线程组使用该函数,可以跨线程使用 动态的用户参数
执行结果:
- 78+ ${__property(,,)} **获取属性函数**
- + ${__setProperty(,,)} 设置**属性函数**
- + ${__Random(,,)}
- + ${__RandomString(,,)}
- + ${__threadNum} 获取线程号函数
- + ${__time(,)} 获取**当前时间戳函数**
- + ${__timeShift(,,,,)} 数据格式化
- + ${__V(,)} **拼接**函数
Q: 动态属性:一直存在?还是朝生夕死?
A: 动态属性,是在运行过程中产生的,关闭jmeter,就是自动释放了。
Q:jmeter中,多个启用线程组,在执行时,默认是并行执行
A:在性能测试中,我们不会勾选测试计划中 独立运行每个线程组
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统