性能测试:使用 Virtual User Generator 录制脚本

852 阅读5分钟

一、安装 Loadrunner

  这里就不写安装教程了,网上教程很多,比如其它博主的:LoadRunner安装教程(和中文版安装)_hpe loadrunner 12.55 community edition 安装_阿英-fu的博客-CSDN博客

  安装包(安装包下载我这里的,不然没有 WebTours这个组件,教程可看上面的。 ):

链接:pan.baidu.com/s/1BpAg4l14… 提取码:qwer

  当下载后你的桌面上会出现下面三个图标:

image.png

  1. Virtual User Generator:录制脚本。
  2. Contorller:设计场景,运行场景。
  3. Analysis:产生性能测试报告。

二、LoadRunner 脚本录制

(一) WebTours 系统

1. 启动

  找到你的 LoadRunner 安装路径,找到 “./LoadRunner/WebTours”。

image.png

双击 StartServer.bat,不要关闭黑框,后台挂着!

image.png

这里的 ip 地址要记住,后面会用到。

2. WebTours 配置

  它的配置文件:..\LoadRunner\WebTours\conf目录下的

image.png

image.png

打开浏览器:url 中输入:http://192.168.27.1:1080/WebTours/ ip 地址为上面黑框中的ip地址。

image.png

显示上面的页面说明启动成功。点击 sign up now注册一个账号。

image.png

没有要求,随便填,重要的是账号密码。

可以在..\LoadRunner\WebTours\cgi-bin\users目录下查看有哪些用户、密码

image.png

这个网站先不用登录,这个网站相当于性能测试中的“Hello World”,后续一系列的性能测试 demo 都是基于此网站的。

(二)Virtual User Generator 脚本录制

1.创建项目

  打开 Virtual User Generator ,点击 file -> New Script and Solution

image.png

选择 单协议中的 web http/html 协议

image.png

创建后:

image.png

vuser_int:初始化,从脚本开始运行到结束运行这个过程中,只运行一次。

Action:存放录制好的脚本,也就是写代码的地方,这个文件可以运行一次或多次,在初始化后运行。

vuser_end:程序退出的时候执行,也就是 Action 运行完成后执行。

Runtime Settings:设置脚本运行参数。

Parameters:参数化。

2.录制脚本

  点击 Record

image.png

image.png   (ps:后面试了试,Google浏览器 + 代理 或者 360极速浏览器 才能录制成功。不知道为啥)

image.png

进行登录操作后,结束录制。

image.png

录制好的脚本需要进行删减,它有许多无关我们系统的一些代码。

image.png

3.编译

image.png

image.png

image.png

image.png 思考时间:是指用户在进行操作时,每个请求之间的时间间隔

4.插入事务

  事务:为了衡量服务器的性能,我们需要定义事务。比如:在脚本中有一个数据查询操作,为了衡量服务器执行查询操作的性能,我们把这个操作定义为一个事务,这样在运行测试脚本时,LoadRunner 运行到该事务的开始点时,LoadRunner 就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在结果中会有反映。

  1. View -> Steps Toolbox

image.png

image.png

输入事务名称并点击“OK”后,会在原来光标的位置设置一行代码,表示开启事务。 image.png

同理,搜索 lr_end_transaction 这个就是结束事务,要注意的是,事务的名称必须保持一致。

image.png

image.png

  运行:

image.png

5.插入集合点

  插入集合点是为了衡量在加重负载的情况下服务器的性能情况。假如要求系统能够承受 2000 人同时提交数据,在LoadRunner 中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,LoadRunner 就会检查同时有多少用户运行到集合点,如果不到2000 人,LoadRunner 就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到2000 人时,LoadRunner 命令2000 人同时去提交数据,从而达到测试计划中的需求。

  搜索 lr_rendezvous

image.png 运行后:

image.png 日志已经出来了,所以成功运行。

注意:集合点经常与事务相结合。

6.参数化输入

  如果用户在录制脚本过程中,填写提交了一些数据,比如要增加数据库记录。这些操作都被记录到了脚本中。当多个虚拟用户运行脚本时,都会提交相同的记录,这样不符合实际的运行情况,而且有可能引起冲突。为了更加真实的模拟实际环境,需要各种各样的输入。

(1)设置参数

image.png

image.png

image.png

image.png

同理,对密码进行操作。完成后的代码:

image.png

(2)设置日志,将每个用户打印出来。

image.png

最后一定要 “Ctrl + S” 保存。

(3)设置运行次数(提交次数)

image.png

(4)添加数据

image.png (5)运行

image.png

image.png

7.插入检查点

  在进行压力测试时,为了检查 Web 服务器返回的网页是否正确,VuGen 允许我们插入 Text 检查点,这些检查点验证网页上是否存在指定的 Text,还可以测试在比较大的压力测试环境中,被测的网站功能是否保持正确。

  这里用 192.168.27.1:1080/cgi-bin/welcome.pl?signOff=true这个网页来测试。

image.png

里面有:

image.png

我们检查是否有 “welcome”这个文本

image.png

代码:

image.png

运行:

image.png

日志中可以看到,“Welcome” 出现过一次。

8.日志打印

(1)lr_log_message()

image.png

(2)lr_output_message

VuGen 中可以使用 C 语言中比较标准的函数和数据类型,语法和 C 语言相同。

image.png