1. 安装LoadRunner
LoadRunner 是进行性能测试的工具。
链接:https://pan.baidu.com/s/1tuHrUh_IdL5yzdrwNHTf7A?pwd=auem
提取码:auem
下载后双击运行,根据提示安装即可。如果出现如下页面,没有指定的证书就把勾去掉点击继续
安装完成后桌面会出现三个图标:
2. RoadRunner组件介绍
Virtual User Generrator:VUG用于录制脚本,写代码。
Controller:设计测试场景运行测试场景。
Analysis:产生测试报告。
使用流程:通过VUG录制脚本,把脚本放在Controller中设计的场景中运行,Controller将监控的指标生成测试报告给到Analysis。
3. 录制脚本
3.1 WebTours
RoadRunner提供了一个示例web程序帮助用户熟悉RoadRunner的使用,接下来使用这个web程序来演示如何录制脚本
我们来到RoadRunner的安装目录下,进入WebTours文件夹,双击StartServer.bat即可启动这个web程序
启动成功后可以在控制台窗口中看到ip地址:
该web程序默认使用1080作为端口号,我们也可以在配置文件中更改。
文件文件路径:LoadRunner\WebTours\conf\httpd.conf
点开httpd.conf,找到如下位置,即可修改。
接下来我们访问webTours:
在浏览器输入:ip地址:1080/WebTours/ 即可访问:
注意这里有用户名和密码,我们可以点击中间文字中的 sign up now 注册,也可以使用默认提供的用户名和密码:
进入这个路径:LoadRunner\WebTours\cgi-bin\users
可以看到默认存在一个名为jojo的文件,jojo就是用户名,打开文件,第一行就是密码,我们也可以在这个文件夹下创建一个文件,文件名就是用户名,内容第一行就是密码。
3.2 脚本录制
打开VUG ,点击左上角File,点击New Script and Solution新建
点击后会出现如下弹窗:
- Single Protocol:单协议
- Multiple Protocol:双协议
- Mobile:移动端
- Popular:流行的,热门的,也就是比较常用的协议
- Recent:最近使用的协议
- Script Name:脚本文件名
- Location:脚本存储位置
由于我们测试的是Web项目,所以这里我们选择Web-HTTP/HTML协议
点击create创建会进入如下界面:
这里我们重点介绍Actions下的三个文件:
- vuser_init:初始化,最先运行,只会运行一遍
- Action:用来保存录制的脚本,初始化后执行,可以通过修改参数调整运行次数
- vuser_end:退出,最后运行,只会运行一遍
点击上面的红色圆圈出现如下窗口:
- Record into action:录制好的代码放置的位置,这里选择Action
- Record:录制脚本的应用,这里选择web browser 即浏览器
- Application:应用的地址,这里我们选择RoadRunner安装路径下自带的火狐浏览器
- URL address:被测试项目的url
- Start recording:开始录制的时机,Immediately表示立刻开始,In delayed mode 表示延时开始
- Working directory:工作目录,选择Application时会自动选择
全部设置好后点击Start Recording 根据提示点击即可开始录制。
完成后会发现打开了浏览器并进入了web项目中,同时右边还多了一个控制框:
接下来我们可以在打开的web项目中做一些操作,我们输入用户名密码然后登录然后结束录制
随后会发现action中会多出一些代码,就是我们录制的脚本:
然后我们点击左上角录制旁边的按钮编译,再点击右边的三角型运行:
这里显示Think Time 是 0,但是在我们上面设置的代码中设置的思考时间是9s,这因为在运行设置里默认设置了忽略思考时间:
4. 脚本加强
录制的脚本不能体现相关的性能指标,可以通过加强脚本来解决,LoadRunner中提供了很多函数来实现脚本加强
在这里可以查找/插入对应的函数
4.1 插入事务
输入事务名称
可以发现已经插入了对应函数, 我们再插入结束事务,如果不插入会报错:
4.2 插入集合点
lr_rendezvous();
lr_rendezvous();的作用是告诉 LoadRunner 在当前虚拟用户运行到这个集合点时,等待所有并发的虚拟用户也达到相同的集合点,然后再继续执行后续的操作。这样可以模拟多个用户同时执行某个关键操作,例如同时登录系统、同时提交订单等,并且能够测量系统在并发访问下的性能表现。
4.3 插入检查点
检查点通常用来指代在测试中用来验证应用程序功能、性能或状态的特定检测点或断言。检查点可以用于不同的目的,包括验证页面内容、数据库状态、事务完成等。
例如我们在登录前检查页面中是否有 Web Tours文本来检查页面是否渲染成功
运行:
可以看到找到了4个
4.4 参数化
要模拟不同用户登录,可以通过参数化完成:
在这里添加参数
可以看到这里参数成功被替换了,密码参数替换同理:
打开扩展日志:
修改运行次数:
运行:
此时就可以看到登录了两次。
4.5 打印日志
也可以使用lr_log_message("");
4.6 字符串相关函数
strcmp 比较两个字符串
strcat 连接两个字符串
strcpy 拷贝字符串