一、测试过程

1.规划测试:分析应用程序、定义测试目标、方案实施。

2.创建Vuser脚本。

3.创建方案:方案包括运行 Vuser 的计算机的列表、运行 Vuser 脚本的列表以及在方案执行期间运行的指定数量的 Vuser 或 Vuser 组。

4.运行方案:可以指示多个 Vuser 同时执行任务,以模拟服务器上的用户负载。可以通过增加或减少同时执行任务的 Vuser 的数量来设置负载级别。

5.监视方案:使用 LoadRunner 联机运行时、事务、系统资源、Web 服务器资源、数据库服务器资源、网络延时、流媒体资源、防火墙服务器资源、Java 性能等、应用程序部署和中间件性能监视器来监视方案的执行。

6.分析测试结果:在方案执行期间,LoadRunner 将记录不同负载下的应用程序性能。可以使用LoadRunner 的图和报告来分析应用程序的性能。

二、VuGen介绍

LoadRunner 包含很多组件,其中最常用的有 Visual User Generator(以下简称VuGen)、Controller,Analysis。v Mercury 虚拟用户生成器 (VuGen) — 创建脚本VuGen
注意:VuGen 仅能录制 Windows 平台上的会话。但录制的 Vuser 脚本既可以在 Windows 平台上运行,也可以在 UNIX 平台上运行。
 
使用VuGen开发脚本的步骤:
*录制测试脚本
*完善测试脚本
*配置Run-Time Settings项
*单机运行测试脚本
*创建运行场景
 
1.录制测试脚本
点击开始->Mercury LoadRunner->Applications->Virtual User Generator或开始-> Mercury LoadRunner-> Mercury LoadRunner->Load Testing->Create/Edit Scripts来启 动VuGen。
 

启动VuGen后,可以选择新建单协议脚本,多协议脚本,打开脚本等;如果不想下次再显示该页,在Don’t show thestartup dialog in the future前打勾即可。
2.录制测试脚本
新建一个用户脚本,选择系统通讯的协议,这里我们需要测试的是Web应用,所以我们需要选择Web(HTTP/HTML)协议,确定后,进入主窗体。

3.设置录制选项

Application type:选择应用程序类型Internet Application
URL:输入要测试的网址
Working directory:设置工作目录
Record into Action:中选择要把录制的脚本放到哪一个部分,见意选择 Action

VuGen 中的脚本分为三部分:vuser_init、vuser_end 和Action。其中vuser_init 和vuser_end 都只能存在一个,不能再分割,而Action 还可以分成无数多个部分(通过点击New 按钮,新建ActionXXX) “Record the application startup”默认情况下是选中的,说明应用程序一旦启动,VuGen 就会开始录制脚本;如果没有选中,应用程序启动后,VuGen 出现右边的对话框,并且暂时不会开始录制脚本,用户操作应用程序到需要录制的地方,按下“Record”按钮,VuGen 才开始录制。

4.录制工具条介绍

点击确定之后会出现一个工具条,不同的按钮有不同的功能

录制完成后,按下“结束录制”按钮,VuGen 自动生成用户脚本,退出录制过程。
5.查看脚本

录制结束后,可以通过两种方式来查看脚本:脚本视图及树视图

脚本视图:
v脚本视图是一种基于文本的视图,列出了作为 API 函数的 Vuser 操作。要在脚本视图中查看脚本,请单击工具栏上的“View Script”按钮或者选择“View” > “View Script”。

树视图:
v树视图是基于图标的视图,列出了作为步骤的 Vuser 操作.要在树视图中查看脚本,请单击工具栏上的“View Tree”按钮或者选择“View” > “View Tree”。

6.完善测试脚本

6.1 事物

事务为衡量服务器的性能,需要定义事务。

当录制完一个基本的用户脚本后,在正式使用前我们还需要完善测试脚本,增强脚本 的灵活性。例如,可以在脚本中插入名为内容检查的步骤,以验证某些特定内容是否显示 在返回页上。可以修改脚本来模拟多用户行为,也可以用事务来 度量特定的业务流程。

事务(Transaction):为了衡量服务器的性能,我们需 要定义事务。比如:我们在脚本中有一个数据查询操作, 为了衡量服务器执行查询操作的性能,我们把这个操作定 义为一个事务,这样在运行测试脚本时,LoadRunner 运 行到该事务的开始点时,就会开始计时,直到运行到该事 务的结束点,计时结束。这个事务的运行时间会在结果中 显示。 插入事务操作可以在录制过程中进行,也可以在录制 结束后进行。LoadRunner 运行在脚本中插入不限数量的事务。

6.2插入事物

在菜单中单击Insert->Start Transaction后,输入事务名称,也可在录制过程中进行,在需要定义事务的操作后面插入事务的“结束点”。

输入事务的名称。注意:事务的名称最好要有意义,能够清楚的说明该事务完成的动作。

插入事务的开始点后,在需要定义事务的操作后面插入事务的“结束点”。同样可以通过菜单或者工具栏插入

默认情况下,事务的名称列出最近的一个事务名称。一般情况下,事务名称不用修改。事务的状态默认情况下是LR_AUTO。一般情况下,我们也不需要修改状态的

6.3插入集合点
插入集合点是为了衡量在加重负载的情况下服务器的性能情况。 在测试计划中,可能会要求系统能够承受1000 人同时提交数据,在LR 中可以通过在提交数据操作前面加入集合点,当虚拟用户运行到提交数据的集合点时,LR 就会检查同时有多少用户运行到集合点,从而达到测试计划中的需求。

具体的操作方法如下:在需要插入集合点的前面,点击菜单Insert->Rendezvous,也可在录制时按插入集合点按钮 注意:集合点经常和事务结合起来使用。集合点只能插入到Action 部分,vuser_init和vuser_end 中不能插入集合点。

7.单机运行测试脚本

执行“运行”命令后,VuGen 先编译脚本,检查是否有语法等错误。如果有错误,Vu Gen将会提示错误。双击错误提示,VuGen 能够定位到出现错误的那一行。如果编译通 过,就会开始运行。然后会出现运行结果。

LoadRunner:VuGen开发脚本步骤(一)的更多相关文章

  1. LoadRunner:VuGen开发脚本步骤(二)

    一.介绍 Loadrunner的场景能够描述在测试活动中发生的各种事件.一个场景包括一个运行虚拟用 户活动的Load Generator 机器列表,一个测试脚本的列表以及大量的虚拟用户和虚拟用户组 二 ...

  2. 通过HP Loadrunner VuGen来录制安卓的应用

    作者:Richard Pal       来自:perftesting           翻译:Elaine00 通过这篇文章,我将介绍如何通过HP Loadrunner VuGen来测试一个安卓应 ...

  3. myeclipse调用loadrunner函数开发测试脚本

    myeclipse调用loadrunner函数开发测试脚本 一.使用myeclipse开发性能测试脚本 1.使用Eclipse新建一个Java工程,将目录%LoadRunner_Home%\class ...

  4. Loadrunner VuGen实战---基本组成、录制流程、协议、脚本优化、参数化(三)

    一.3大基本组件:VuGen.Controller.Analysis 1.VuGen:录制.编写脚本. 2.Controller:性能测试场景设计以及监控的地方. 3.Analysis:生成图表报告的 ...

  5. 编写loadrunner的ftp脚本(详细步骤)

    大家好,主要给大家讲解编写loadrunner的ftp脚本详细步骤,及FTP函数注释,及FTP脚本两种编写方式,手动和录制.亲测 No problem!^_^ 1.首先要了解loadrunner中几个 ...

  6. Loadrunner进行性能测试的步骤

    Loadrunner 11是一款免费的性能测试工具,他包含三个大模块 •使用VuGen:创建脚本•运用Controller:设置方案•查看Analysis:分析测试结果 结合软件测试的流程可以知道使用 ...

  7. LoadRunner关联函数的脚本实例--如何操作关联参数

    LoadRunner关联函数的脚本实例--如何操作关联参数 这几天一直在学习LoadRunner的VuGen编程,今天想对关联函数web_reg_save_param做详细的试验和研究: ~f6p q ...

  8. 【原创】LoadRunner Java Vuser脚本的配置和调试指南

    1 编写目的 本文介绍了Loadrunner多负载压力机的配置,并通过测试Java Vuser的数据库连接脚本对配置结果进行了验证,同时对配置过程中遇到的问题和解决的过程进行了记录,关于Java数据库 ...

  9. Loadrunner Vugen参数列表中数据分配方法及更新值的时间9种组合说明及验证

    作为刚开始学习Loadrunner的新人,Data Assignment Method以及Update Method在相互组合之后,LR如何进行取值让我很是头疼. 于是花了一个晚上的时间认真学习官方文 ...

随机推荐

  1. mac下c++代码阅读工具

    http://note.youdao.com/noteshare?id=101a265bb9d780444b6a03ca526b887a

  2. tp 中 where条件,字段和字段的大小比较

    $map = array( , 'start_time' => array('lt',$now), 'end_time' => array('gt',$now), , '_string' ...

  3. (转)使用Excel批量给数据添加单引号和逗号

    在使用PLSQL连接oracle数据库处理数据的过程中,常用的操作是通过ID查询出数据,ID需要附上单引号,如果查询的ID为一条或者几条,我们手动添加即可,但是如果是几百条.几千条的话,就需要使用一些 ...

  4. 重构改善既有代码设计--重构手法08:Replace Method with Method Object (以函数对象取代函数)

    你有一个大型函数,其中对局部变量的使用,使你无法釆用 Extract Method. 将这个函数放进一个单独对象中,如此一来局部变量就成了对象内的值域(field) 然后你可以在同一个对象中将这个大型 ...

  5. 今日文摘:浅谈 HTML5 的游戏化之路

    如今商业网站中用于广泛的HTML5无限下拉效果已经越来越受到游戏网站的喜爱.各个品牌为了打造专属自己的游戏特色,纷纷推出了模拟HTML5效果的品牌 站,且都起到了相当好的效果.可是从很多方面来说我们对 ...

  6. Java 中的几种线程池这么用才是对的

    为什么要使用线程池 虽然大家应该都已经很清楚了,但还是说一下.其实归根结底最主要的一个原因就是为了提高性能. 线程池和数据库连接池是同样的道理,数据库连接池是为了减少连接建立和释放带来的性能开销.而线 ...

  7. 在wamp下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)支持

    1.安装WAMPServer 根据自己的操作系统选择相应的WAMP版本,我这里选择WAMPSERVER-32 BITS & PHP 5.5-2.5, 双击安装,选择安装目录即可,超级简单.根据 ...

  8. Linux 下解决安装多个node冲突的问题(重新安装node)

    一个系统中不经意安装了多个node版本,结果更新后还是原来的版本,下面思考一下解决办法: 敲黑板: 1. nodejs 用 包管理器安装一般在 /usr/local/bin 2. 查看当前目录下的no ...

  9. VueJS $refs 在 ElementUI 中遇到的问题

    表单验证的时候  $refs 拿不到 暂且是用 $nextTick 解决,具体原因有待研究 假入在 created 中注册时间来验证 validate,那就放在mounted中 或者...注册了 ev ...

  10. 好消息! 不用再羡慕Python有jupyter 我R也有Notebook了【附演示视频】

    熟悉python的朋友可能知道jupyter notebook.它是一个Web应用程序,允许你创建和共享代码,方程,可视化和说明性文本文档.现在,我们可以在RStudio中实现R Notebook的功 ...