一.LuoadRunner
- Virtual User Generator 录制脚本、模拟虚拟用户生成脚本
- Controller 场景设计、性能测试、压力测试等
- Analysis 测试结果的分析、生成测试报告
二.Virtual User Generator脚本录制
1. 脚本结构
- 脚本名称
- 操作
- vuser_init 初始化执行一次
- Action 循环
- vuser_end 结束脚本执行一次
- 额外文件(加载脚本需要的头部文件)
- 运行设置
- 参数
- 录制报告
- 回放摘要
- 操作
2.录制脚本方式
3.脚本常见函数
下面是一些比较常用的函数
1 | // 模拟点击超链接操作,页面访问型函数(get) |
4.脚本强化
事务:
事务就是用于区分一段脚本的开始与结束便于区分不同模块的开始与结束,开始事务与结束事务名字要相同;
开始事务: lr_start_transaction(“zds”); 参数:事务名称
结束事务: lr_end_transaction(“zds”, LR_AUTO); 参数:事务名称
集合点:
集合点不能出现在初始化开始(vuser_init)与结束(vuser_end )文件中,只能在Action设置集合点,集合点的作用主要是为了真正的实现并发而进行的一种运行策略。
设置集合点:lr_rendezvous(“login”) 参数为集合名称;
检查点(断言):
检查点有两种检查方式:图片检查、文本内容检查(常用,检查函数一般放在请求函数页面的前面;
图片检查:略
文本检查:web_reg_find()
参数化:
将多组数据通过变量赋值的方式添加到脚本中;
脚本循环
可以让脚本进行多次迭代,在运行时设置文件中进行设置,在设置迭代次数中初始化开始(vuser_init)与结束(vuser_end )只执行一次,Action会执行所设置的迭代次数;
脚本日志
在使用日志功能时必须要启动日志功能,日志分为标准日志与扩展日志默认情况下使用的是标准日志;
公共的扩展:在标准日志和扩展日志下都允许是否显示环境信息、消息函数的时间戳;
标准日志:默认情况下显示的方式;
扩展日志:可展示参数替换、服务器返回数据、高级跟踪可自由使用;
脚本思考时间
思考时间主要用于在不同模块下进行等待,设置等待时间可以更加真实的模拟用户;
忽略思考时间:默认情况下脚本是忽略思考时间的;
按录制参数回放思考时间:根据脚本 lr_think_time()函数所设定的时间进行等待;
将录制思考时间乘以倍数:根据脚本 lr_think_time()函数所设定的时间在乘以设置的倍数进行运行;
使用录制思考时间的随机百分比:根据脚本 lr_think_time()函数所设定的时间,按照设置的最小值、最大值的百分比随机取值;
将思考时间限制为:设置参数后大于限制的时间将用于当前设置的时间参数进行允许,小于则不变;
脚本错误处理
错误处理是在脚本出现错误时是否继续执行的设置,默认在遇到错误后脚本是不会在往后执行的,而是直接停止脚本;
出错时仍然继续:在脚本出现错误仍然进行运行后面脚本;
当调用Ir_error_message时,将打开的事务置为失败: 在脚本出现错误时生成一个事务用于记录错误信息;
出错时生成快照:在脚本出现错误时使用快照功能将错误信息进行一个快照进行展示;
多线程和进程
进程是系统资源(cpu、内存)分配的最小基本单位,线程是系统进行任务调度的最小单位,一个进程可能会包含多个线程,在一个进程中的多个线程,共享线程分配到的资源
按线程运行Vuser:每一个虚拟用户占一个线程
按进程运行Vuser:每一个虚拟用户占一个进程(不推荐使用浪费资源)
在计算机的资源一定情况下,用线程的方式可以模拟更多的虚拟用户;使用线程,可以更加真实的模拟迸发执行;
三.Controller场景设计
1.基础简介
场景模式
手工场景:通过手工设置虚拟用户量、加压、减压、持续时间等;
面向目标场景:根据设定的目标进行运行;







