1.为什么要增强脚本
- 录制脚本无法达到预期测试要求
- 缺乏针对性
- 脚本过于简单
2.强化手段
事务和集合点
事务:局部操作的汇总,TPS的基础
- 开始事务:lr_start_transaction(“事务名”)
- 结束事务:lr_end_transaction(“事务名”,LR_AUTO)
- 阅读日志,分析查看事务运行状态(Passed/Failed)以及性能表现
- 事务可以在脚本中添加也可以在录制中添加
关键:事务成功率、事务响应时间、每秒钟事务数
集合点:虚拟用户集合在一起,实现并发操作
- 集合不能放在vuser_init()和vuser_end()中,只能放在action中
- 集合点要放在事务之前
- 函数lr_rendezvous(“集合点名称”)
- 在脚本中添加集合点,在场景设置释放策略,以便观察虚拟用户在运行过程中集合点的状态
设置集合策略
1.百分比虚拟用户到达集合点
2.百分比运行的虚拟用户到达集合点
3.固定的虚拟用户到达集合点
4.虚拟用户的超时设置
参数化和检查点
检查点(断言):验证压力较大时服务器能否返回正常页面
- web_reg_find():文本检查点,放在页面请求之前
- 点击 运行时设置->首选项->启用图像和文本检查
- 在脚本中插入检查点:设计->在脚本中插入函数->打开步骤工具箱
- 一般放在web_url()之前
参数化
- 使用变量代替常量,使得虚拟用户能模拟真实用户的操作
- 选择参数化数据,用变量替代常量
- 设置参数列表
- 运行时设置->运行逻辑->选择迭代次数
- 运行时设置->日志->扩展日志->参数替换
运行时设置
- 1.运行逻辑(Run logic):主要设置迭代次数
- 2.节奏(Pacing):脚本运行时上一次迭代与下一次迭代之间的时间间隔
- 3.日志(Log)
- 4.思考时间(Think time):两次请求之间的间隔时间
- 5.多线程设置
- 进程(Process):系统资源分配的基础(CPU、内存)
- 线程(Thread):系统进行任务调度的一个最小单位
- 一个进程可以包含多个线程,线程是支持软件并发的一个运行机制
- 按进程运行虚拟用户,每个虚拟用户都会开起一个进程
- 按线程运行虚拟用户,所有虚拟用户公用一个进程