亲们,loadrunner录制https中录制飞机订票系统,怎么参数化航班

10:33 提问
亲们,loadrunner中录制飞机订票系统,怎么参数化航班?求详细介绍
Virtual User Script started at :
Starting action vuser_init.
Web Turbo Replay of LoadRunner 11.0.0 for WINXP; build 8859 (Aug 18 :31)
[MsgId: MMSG-27143]
Run Mode: HTML
[MsgId: MMSG-26000]
Run-Time Settings file: "D:\lr_text\fight\default.cfg"
[MsgId: MMSG-27141]
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Starting action Action.
Action.c(4): Redirecting "" (redirection depth is 0)
[MsgId: MMSG-26694]
Action.c(4): To location ""
[MsgId: MMSG-26693]
Action.c(4): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(4): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(4): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(4): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(4): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(4): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(4): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(4): web_url("WebTours") was successful, 6448 body bytes, 1724 header bytes
[MsgId: MMSG-26386]
Action.c(15): Submitting form to "", Target Frame="body"
[MsgId: MMSG-27978]
Action.c(15): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(15): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(15): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(15): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(15): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(15): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(15): web_submit_form("login.pl") was successful, 5694 body bytes, 1482 header bytes
[MsgId: MMSG-26386]
Action.c(24): Image-linking to "", Target Frame="body"
[MsgId: MMSG-27993]
Action.c(24): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(24): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(24): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(24): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(24): Resource "" is in the cache already and will not be downloaded again
[MsgId: MMSG-26655]
Action.c(24): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(24): Resource "" is in the cache already and will not be downloaded again
[MsgId: MMSG-26655]
Action.c(24): web_image("Search Flights Button") was successful, 8360 body bytes, 1173 header bytes
[MsgId: MMSG-26386]
Action.c(31): Submitting form to "", Target Frame=""
[MsgId: MMSG-27978]
Action.c(31): Resource "" is in the cache already and will not be downloaded again
[MsgId: MMSG-26655]
Action.c(31): web_submit_form("reservations.pl") was successful, 2359 body bytes, 253 header bytes
[MsgId: MMSG-26386]
Action.c(46): Error -27979: Requested form not found
[MsgId: MERR-27979]
Action.c(46): web_submit_form("reservations.pl_2") highest severity level was "ERROR", 0 body bytes, 0 header bytes
[MsgId: MMSG-26388]
Ending action Action.
Ending iteration 1.
Starting iteration 2.
Starting action Action.
Action.c(4): Redirecting "" (redirection depth is 0)
[MsgId: MMSG-26694]
Action.c(4): To location ""
[MsgId: MMSG-26693]
Action.c(4): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(4): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(4): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(4): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(4): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(4): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(4): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(4): web_url("WebTours") was successful, 6448 body bytes, 1724 header bytes
[MsgId: MMSG-26386]
Action.c(15): Submitting form to "", Target Frame="body"
[MsgId: MMSG-27978]
Action.c(15): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(15): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(15): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(15): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(15): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(15): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(15): web_submit_form("login.pl") was successful, 5694 body bytes, 1482 header bytes
[MsgId: MMSG-26386]
Action.c(24): Image-linking to "", Target Frame="body"
[MsgId: MMSG-27993]
Action.c(24): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(24): Detected non-resource "" in ""
[MsgId: MMSG-26574]
Action.c(24): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(24): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(24): Resource "" is in the cache already and will not be downloaded again
[MsgId: MMSG-26655]
Action.c(24): Found resource "" in HTML ""
[MsgId: MMSG-26659]
Action.c(24): Resource "" is in the cache already and will not be downloaded again
[MsgId: MMSG-26655]
Action.c(24): web_image("Search Flights Button") was successful, 8360 body bytes, 1173 header bytes
[MsgId: MMSG-26386]
Action.c(31): Submitting form to "", Target Frame=""
[MsgId: MMSG-27978]
Action.c(31): Resource "" is in the cache already and will not be downloaded again
[MsgId: MMSG-26655]
Action.c(31): web_submit_form("reservations.pl") was successful, 2351 body bytes, 253 header bytes
[MsgId: MMSG-26386]
Action.c(46): Error -27979: Requested form not found
[MsgId: MERR-27979]
Action.c(46): web_submit_form("reservations.pl_2") highest severity level was "ERROR", 0 body bytes, 0 header bytes
[MsgId: MMSG-26388]
Ending action Action.
Ending iteration 2.
Ending Vuser...
Starting action vuser_end.
Ending action vuser_end.
Vuser Terminated.
其他相似问题4567人阅读
自动化测试(23)
&&&&&&关于QTP的参数化问题,说到参数化,我们在使用的qtp的过程会发现在qtp软件界面的下方有一个Data Table的窗口,这就是我们进行参数化设置的入口,其中的GloBal和Local就是进行参数设置的输入。说到这里我们就发现了一个问题,既然是参数化,一个输入table不就可以了吗,为什么qtp要使用两个datatable呢,是否存在一些区别,不过肯定不是多余的。下面我们就详细的对两个table输入框进行讲解:
&&&&&& Global与Local的作用:在设置参数化的时候选择Global,action在执行参数化操作的时候,Global中数据会被所有的action使用,而Local的数据则只会被当前的action所使用,其他的action没有权限去调用,说得明白一些也就好比程序中的全局变量和局部变量,Global代表的是全局变量,在整个录制的action中都能被随处调用,而local当然只能被当前的设置local的action所调用,这就是两者最直接的区别。关于具体的参数怎么来设置的问题,这里就不好演示了,可以看qtp的help文档,当中有演示界面。
&&&&&& 接下来说一个很有意思的问题,就是关于录制系统自带的飞机订票系统的登录功能所碰到一个参数化问题,因为处于对参数化的理解就录制了一个登录的过程,想通过参数化来实现多次运行Global和Local Table的数据,结果却遭遇了一个很弱智的问题,本来在录制的时候就是用户正确登录后进入订票系统,然后关闭登录系统页面,后来设置参数化,并在Table中添加了几行用户名的数据,然后运行就发现系统就只执行了Table中的第一行数据,然后就自动停止了,并淡出Result页面,让感觉到疑惑,为什么没有执行其他的数据呢,甚至怀疑是不是在设置run的问题,并找到flie&&Settings&&Run的设置,发现其中设置就是Run on all rows,有点不可理解,后来仔细想来,发现问题出现最后的关闭程序,因为在登录完成进行订票界面之后就已经关闭,没有再启动的指令,而Table中数据只是针对登录用户名的一个循环,并不能再次启动已经的关闭的登录界面,所以是个很低级的错误。如果大家想进行参数化的操作可以直接录制登录之后的订票过程进行参数化的实践操作,那个界面是可以进行参数化重复操作的。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:282664次
积分:3488
积分:3488
排名:第9514名
原创:88篇
评论:118条
(1)(1)(2)(1)(2)(3)(3)(2)(3)(1)(1)(3)(1)(2)(3)(1)(1)(3)(2)(4)(3)(5)(4)(12)(7)(4)(5)(3)(1)(1)(2)(1)(2)(1)(3)loadrunner(8)
性能目的:使用起来速度快,不崩,稳定
性能分类:
常规性能测试--响应时间、响应速度----正常工作,你的速度有多快
负载测试---持续加压,目的是找到崩溃的临界点,目的是用户使用时能不触碰到此临界点---不断增加工作量使工作饱和度不断增加,你什么时候撑不住了
压力测试--在一定饱和度内,会不会出错----在工作量比较大时,你工作会不会犯错
并发测试---多用户同时访问一个应用、模块、数据库------很多工作要你同一时间一起做,您能做到吗
配置测试---所测应用的软硬件条件发生变化---工作环境工作氛围发生变化,影响你的工作吗
稳定性测试----持续运行,能否崩溃----3天连续不眠不休工作,你的工作效率会下降吗
事务:用来计时,设置开始和结束之间的范围为一个事务
关联:把脚本中写死的数据转变成选取自服务器所发送的、动态的、每次都不一样的数据
参数化:使用指定数据源中的值代替脚本录制中的参数
LR安装注意点:
安装路径最好默认,以防出错
取消HP身份验证设置
取消默认勾选的‘指定LoadRunner代理将要使用的证书’
例子:LR自带的飞机订票系统
启动服务:安装路径\HP\LoadRunner\WebTours下的StartServer.bat
打开网页:地址 &http://127.0.0.1:1080/WebTours/ 或目录:开始-所有程序--HP Software-HP LoadRunner-Samples-Web-点击 HP Web Tours Applicaion
默认账号:jojo &bean
录制事件脚本前准备:
创建新脚本及设置脚本位置:create--选协议--起名称--设置脚本保存位置--create
录制选项设置:选择web应用要测试的地址--录制选型2处设置(选择录制方式(这个项目选择了HTML-based Script)、设置utf-8)
怎么选择录制方式:
HTML-based Script(基于浏览器的应用程序)
URL-based Script(基于非浏览器的应用程序和基于浏览器的应用程序中使用了https安全协议的)
飞机订票系统设置:打开&http://127.0.0.1:1080/WebTours/ --点击administration--勾选第三项
开始录制:
点击start recording自动打开之前设置的网址--录制--停止录制
脚本调试:
1.关联session相关的动态值(找到关联内容,一般设置左右边界即可,有多个参数时候时可用ord来设置)-----比如每次订票都会返回一个不同的session值,而录制的脚本中session是一定的值,导致回放脚本不成功。要把脚本中所有的动态值都设置成关联参数才行。飞机订票这里有几个个动态值,登录时的value,选择航班的value,支付时的value
当每次服务器返回的不一样的值时,找到session的value值进行复制
找到上一步操作的函数,点击任意一处地方右键点击show snagshot进入请求响应界面
在此页面ctrl+f 搜索刚才复制的关键词,点击find next,可搜索到此关键词的响应那一句详细具体是怎么表示的
把value出现的详细内容复制到录制好的脚本当中,编写一个函数,起个名字如web_reg_param('neme','LB','RB',LAST)通过左右边界设置关联函数即可,需要转移的用\来转义。
最后一步,把value值参数化,用{关联函数名}替换
这样,关联函数就弄好了,回放一遍,订票成功。
脚本优化:
录制的脚本出发城市和目的城市是固定不变的,目的是将订票的出发城市和目的城市随机化
先将出发城市和目的城市分别参数化:在录制的脚本中找到出发城市和目的城市,右键选择replace with parameter-create new parameter,设置好参数名字
设置好的样子
点击design-&parameter-&parameters &list 或ctrl+l打开参数列表,在这里可以对参数进行设计。
先将所有城市写到一个.dat格式的文件里如city.dat,文件保存到脚本录制的那个路径里。文件内容首行为name,内容一个一行,末尾以空行结束表示文件内容结束。
在参数列表中将该文件导入。可以设置以顺序方式或其他方式来读取该参数列表。可几个设置综合起来用来达到自己的目的。如出发地选择顺序、从第一个开始,目的地也选顺序,从第二个开始。
此外,还能设置脚本回放的次数。(按下F4--设置运行次数)
脚本优化二:
以上脚本实现了几次登录,几次订票--目的登录一次,订票N此,退出一次
把登录脚本放在vuser_init,把退出脚本放在vuser_end,内容还在Action就行
脚本优化三:自动判断脚本的回放是否成功
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:141134次
积分:2700
积分:2700
排名:第13426名
原创:129篇
转载:18篇
评论:11条
(3)(4)(3)(1)(7)(3)(2)(7)(8)(4)(5)(8)(31)(25)(1)(1)(7)(1)(2)(5)(2)(5)(3)(2)(4)(3)LoadRunner实战小例子(在线预订机票) - qinyuling.happy的个人空间 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
LoadRunner实战小例子(在线预订机票)
& 14:02:01
快速入门LoadRunner 通过模拟多个用户同时在应用程序中的环境,对应用程序进行负载。当应用程序在负载状态下运行时,LoadRunner 会准确评测、监控并分析系统的性能和功能。LoadRunner 技术简介使用 HP LoadRunner 可以创建模拟场景,并定义会话期间发生在场景中的事件。在场景中, LoadRunner 会用虚拟用户(或称 Vuser)代替物理计算机上的真实用户。这些 Vuser 以一种可重复、可预测的方式模拟典型用户的操作,对系统施加负载。假设要测试一个基于
的旅行社应用程序(供用户在线预订机票),以确定应用程序在多个用户同时执行相同事务时的反应情况。您可以使用 LoadRunner 创建具有 1000 个 Vuser (代表 1000 家旅行社)的场景,这些 Vuser 可同时在该应用程序中预订机票。测试流程LoadRunner 测试流程由以下四个基本步骤组成:➤ 步骤 1 - 创建脚本。捕获在您的应用程序上执行的典型最终用户业务流程。➤ 步骤 2 - 设计模拟场景。通过定义测试期间发生的事件,设置负载测试环境。➤ 步骤 3 - 运行场景。运行、管理并监控负载测试。➤ 步骤 4 - 分析结果。分析 LoadRunner 在负载测试期间生成的性能数据。HP LoadRunner 快速入门2LoadRunner 组件测试流程中的每个步骤均由 HP LoadRunner 的相应组件执行。这些组件包括:➤ HP Virtual User Generator (VuGen)。用于创建脚本。VuGen 通过录制典型最终用户在应用程序上执行的操作来生成虚拟用户(或称Vuser)。然后 VuGen 将这些操作录制到自动化 Vuser 脚本中,将其作为负载测试的基础。➤ HP LoadRunner Controller。用于设计并运行场景。Controller 是用来设计、管理和监控负载测试的中央控制台。使用 Controller 可运行模拟真实用户操作的脚本,并通过让多个 Vuser 同时执行这些操作,从而在系统上施加负载。➤ HP Analysis。用于分析场景。HP Analysis 提供包含深入性能分析信息的图和报告。使用这些图和报告可以找出并确定应用程序的瓶颈,同时确定需要对系统进行哪些改进以提高其性能。示例应用程序 - HP Web Tours为了说明 HP 解决方案,本快速入门指南使用一个基于 Web 的旅行社应用程序系统(名为 HP Web Tours)示例。HP Web Tours 用户可以连接到 Web 服务器,搜索航班,预订机票并查看航班路线。在这个快速入门课程中,您将使用 LoadRunner 组件(VuGen、Controller 和Analysis)完成创建、运行和分析负载测试的基本步骤。该测试将模拟 10 家旅行社同时使用机票预订系统(例如,登录、搜索航班、购买机票和注销)。启动示例 Web 服务器Web 服务器将在 LoadRunner 安装完成后自动启动。如果服务器未运行,请选择开始 & 程序 & HP LoadRunner & Samples & Web & 启动 Web 服务器。如果尝试启动已运行的 Web 服务器,将出现错误消息。您可以忽略此消息并继续按照快速入门的指示操作。HP LoadRunner 快速入门3使用 VuGen 创建脚本创建负载测试的第一步是使用 VuGen 录制典型最终用户业务流程。VuGen 以“录制-回放”的方式工作。当您在应用程序中执行业务流程步骤时, VuGen 会将您的操作录制到自动化脚本中,并将其作为负载测试的基础。如何开始录制用户活动?首先打开 VuGen 并创建一个空白脚本。1 启动 LoadRunner。选择开始 & 程序 & HP LoadRunner & LoadRunner。将打开 HPLoadRunner 11.00窗口。2 打开 VuGen。在 LoadRunner Launcher 窗格中,单击创建/编辑脚本。这时将打开 VuGen 起始页。HP LoadRunner 快速入门43 创建一个空白 Web 脚本。在 VuGen 起始页,单击新建 Vuser 按钮。将打开新建虚拟用户对话框,其中显示了新建单协议脚本屏幕。协议是客户端用来与系统后端进行通信的语言。HP Web Tours 是一个基于 Web 的应用程序,因此您将创建一个 Web 虚拟用户脚本。请确保“类别”是所有协议。VuGen 将列出适用于单协议脚本的所有可用协议。向下滚动列表,选择 Web (HTTP/HTML) 并单击创建,创建一个空白 Web 脚本。注:要使用 HP 的新 Web (Click and Script) 技术录制业务流程,请选择Web (Click and Script)。有关 Web (Click and Script) 的更多信息,请参阅第 21 页的“附录:使用 Web (Click and Script)”。空白脚本以 VuGen 的向导模式打开,同时在左侧显示任务窗格。HP LoadRunner 快速入门5如果未显示任务窗格,请单击工具栏上的任务按钮。VuGen 的向导将指导您逐步完成创建脚本并使其适应测试环境的过程。任务窗格列出脚本创建过程中的各个步骤或任务。在您执行各个步骤的过程中, VuGen 将在窗口的主要区域显示详细说明和指示信息。如何录制业务流程以创建脚本?创建用户模拟场景的下一步就是录制真实用户所执行的操作。在前面您已经创建了一个空的 Web 脚本。现在您可以直接将用户操作录制到此脚本中。在这一节,您将跟踪一个完整的事件(一名乘客预订从丹佛到洛杉矶的航班,然后查看航班路线)。HP LoadRunner 快速入门6要录制脚本,请执行下列操作:1 在 HP Web Tours 网站上开始录制。a 在任务窗格中的录制下方,单击录制应用程序。b 单击说明窗格底部的开始录制。这时将打开“开始录制”对话框。在 URL 地址框中,输入。在录制到操作框中,选择 Action。单击确定。这时将打开一个新的 Web 浏览窗口并显示 HP Web Tours 网站。注:如果打开网站时出错,请确保 Web 服务器正在运行。要启动服务器,请选择开始 & 程序 & HP LoadRunner & Samples & Web & 启动 Web 服务器。这时将打开浮动的“正在录制”工具栏。2 登录到 HP Web Tours 网站。在 HP Web Tours 主页上,输入用户证书。在 Username (用户名)框中输入 jojo,在 Password (密码)框中输入 bean。单击 Login (登录)。欢迎页面打开。HP LoadRunner 快速入门73 输入航班详细信息。单击 Flights (航班)。这时将打开 Find Flight (查找航班)页面:➤ Departure City (出发城市):Denver (丹佛,默认值)➤ Departure Date (出发日期):保持默认值(当前日期)➤ Arrival City (到达城市):Los Angeles (洛杉矶)➤ Return Date (返回日期):保持默认值(第二天的日期)请保持其余选项的默认设置不变并单击 Continue (继续)。将打开“Find Flight(查找航班)”(航班选择)页面。4 选择航班。单击 Continue (继续)接受默认航班选择。Payment Details (支付明细)页面打开。5 输入支付信息并预订机票。在 Credit Card (信用卡)框中输入 ,并在 Exp Date (到期日)框中输入 01/10。单击 Continue (继续)。这时将打开 Invoice (发票)页面,显示您的发票。6 查看航班路线。单击左窗格中的 itinerary (路线)。这时将打开 Itinerary (路线)页面。7 单击左窗格中的 Sign Off (注销)。8 在浮动工具栏上单击停止以停止录制。生成 Vuser 脚本后, VuGen 向导将自动继续执行任务窗格中的下一个步骤,并显示录制摘要信息(包括协议信息和会话期间创建的一系列操作)。VuGen 为录制期间执行的每个步骤生成一个快照,即录制期间各窗口的图片。这些录制的快照以缩略图的形式显示在右窗格中。9 选择文件 & 保存,或单击保存。在文件名框中输入 basic_tutorial 并单击保存。VuGen 将该文件保存到 LoadRunner 脚本文件夹中,并在标题栏中显示脚本名称。HP LoadRunner 快速入门8如何查看脚本?现在就可以在 VuGen 中查看已录制的脚本。可以在树视图或脚本视图中查看。树视图是一种基于图标的视图,将 Vuser 的操作以步骤的形式列出,而脚本视图是一种基于文本的视图,将 Vuser 的操作以函数的形式列出。树视图要在树视图中查看脚本,请选择视图 & 树视图,或者单击工具栏上的树按钮。对于录制期间执行的每个步骤, VuGen 在脚本树中为其生成一个图标和一个标题。在树视图中,您将看到以脚本步骤的形式显示的用户操作。大多数步骤都附带相应的录制快照。脚本树快照HP LoadRunner 快速入门9脚本视图脚本视图是一种基于文本的视图,以 API 函数的形式列出 Vuser 的操作。要在脚本视图中查看脚本,请选择视图 & 脚本视图,或者单击工具栏上的脚本按钮。在脚本视图中,VuGen 在编辑器中显示脚本,并用不同颜色表示函数及其参数值。您可以在窗口中直接输入 C 或 LoadRunner API 函数以及控制流语句。如何验证脚本已录制我的操作?完成录制后,您可以回放脚本以验证其是否准确模拟了您录制的操作。要回放脚本,请执行下列操作:1 确保已显示任务窗格,如果未显示,请单击工具栏中的任务按钮。在任务窗格中单击验证回放,然后单击说明窗格底部的开始回放按钮。2 如果“选择结果目录”对话框打开,并询问要将结果保存到何处,请接受默认名称并单击确定。稍后 VuGen 将开始运行脚本。当脚本停止运行后,您可以在向导中查看关于这次回放的概要信息。3 在任务窗格中单击验证回放以查看关于上次回放的概要信息。上次回放概要列出检测到的所有错误,并显示录制和回放快照的缩略图。您可以比较快照,找出录制的内容和回放的内容之间的差异。HP LoadRunner 快速入门10您可以使用运行时设置模拟不同的用户行为。例如,您可以模拟一个对服务器立即做出响应的用户,也可以模拟一个先停下来思考,再做出响应的用户。有关脚本验证和运行时设置的详细信息,请参阅《HP LoadRunner 教程》的第 4 课“回放脚本”。如何评测业务流程?在负载测试的准备阶段,可以使用 LoadRunner 改进脚本,更加真实地反映实际情况。例如,可以在脚本中插入内容检查这一步来确保返回页面上显示某些内容。您可以修改脚本来模拟多用户操作,也可以指示 VuGen 评测特定的业务流程。事务 - 评测业务流程在准备部署应用程序时,您需要估计特定业务流程的持续时间 - 登录、预订机票等要花费多少时间。这些业务流程通常由脚本中的一个或多个步骤或操作组成。在 LoadRunner 中,通过将一系列操作标记为事务,可以将它们指定为要评测的操作。LoadRunner 收集关于事务执行时间长度的信息,并将结果显示在用不同颜色标识的图和报告中。您可以通过这些信息了解应用程序是否符合最初的要求。在这一节,您将在脚本中插入一个事务来计算用户查找和确认航班所花费的时间。要插入事务,请执行下列操作:1 打开“事务创建”向导。确保任务窗格出现。如果未出现,则单击任务按钮。在任务窗格中的增强功能下方,单击事务。这时将打开“事务创建”向导。该向导显示脚本中不同步骤的缩略图。HP LoadRunner 快速入门11单击新建事务按钮。现在您可以拖动左括号和右括号,并将它们放到脚本中的指定位置。出现左括号是提示您插入事务的起始点。2 插入事务开始标记和事务结束标记。使用鼠标,将左括号拖动到第三个名为 Search Flights Button 的缩略图前面,然后单击。左括号表示事务开始。右括号提示您插入结束点。用鼠标将右括号拖到名为 reservations.pl_2 的第五个缩略图后面并单击。3 指定事务名称。向导会提示您输入事务名称。输入 find_confirm_flight,然后按 ENTER (回车)键。通过在脚本中将括号拖动到其他点上,可以调整事务的起始点或结束点。通过选择事务左括号上方现有的名称并单击输入新名称,还可以重命名事务。有关改进脚本的详细信息(事务、参数化和内容检查),请参阅《HP LoadRunner教程》的第 6 课“准备负载测试脚本”。HP LoadRunner 快速入门12使用 Controller 设计场景负载测试是指在典型工作条件下测试应用程序,在我们的例子中指多家旅行社同时在同一个机票预订系统中预订机票。现在您已经完成了第一步“创建脚本”,接下来需要搭建负载测试环境。使用 Controller 将应用程序性能测试需求分配给多个场景。有一个场景负责定义每个测试会话中发生的事件。还有一个场景,例如,定义并控制要模拟的用户数量、用户执行的操作,以及进行模拟时所用的计算机。如何创建场景?这一节的目标是创建一个场景,模拟 10 家旅行社同时登录、搜索航班、购买机票、 查看航班路线并退出系统的行为。1 打开 Controller。选择开始 & 程序 & HP LoadRunner & LoadRunner。将打开 HPLoadRunner 11.00窗口。在 LoadRunner Launcher 窗格中,单击运行负载测试。这时将打开 LoadRunnerController。默认情况下, Controller 打开时将显示“新建场景”对话框。HP LoadRunner 快速入门132 选择场景类型。使用 Controller,您可以选择各种不同的场景类型,比如面向目标的场景。有关这些场景类型的详细信息,请参阅《HP LoadRunner 教程》的第 7 课和第 9 课。选择手动场景并单击确定。3 向负载测试中添加脚本。为了配合本快速入门,我们提供了一个脚本,与为 Web (HTTP/HTML) Vuser 创建的脚本类似。建议您使用这个示例脚本。单击浏览按钮找到 &LoadRunner 安装位置&\Tutorial 目录中的 basic_script。此脚本显示在可用脚本框和场景中的脚本框中。单击确定。LoadRunner Controller 将在“设计”选项卡中打开您的场景。Controller 窗口一览Controller 窗口的“设计”选项卡包含三个主要部分:“场景计划”、“场景组”和“服务水平协议”:“场景组”窗格(手动场景)“服务水平协议”窗格“场景计划”窗格(手动场景)HP LoadRunner 快速入门14➤ “场景组”窗格。在“场景组”部分配置 Vuser 组。创建不同的组来代表系统的典型用户。您可以定义典型用户将执行的操作、运行的 Vuser 数和运行场景时所用的计算机。➤ “场景计划”窗格。在“场景计划”部分,设置负载行为以准确模拟用户行为。您可以确定在应用程序上施加负载的频率、负载测试的持续时间以及负载的停止方式。➤ “服务水平协议”窗格。设计负载测试场景时,可以为性能指标定义目标值或服务水平协议 (SLA)。运行场景时, LoadRunner 收集并存储与性能相关的数据。分析运行情况时, Analysis 将这些数据与 SLA 进行比较,并为预先定义的测量指标确定SLA 状态。如何生成重负载?Load Generator 是通过运行 Vuser 在应用程序中生成负载的计算机。可以使用多个Load Generator,并在每个 Load Generator 上运行多个 Vuser。运行场景时,Controller自动连接到 Load Generator。如何模拟真实负载行为?典型用户不会正好同时登录和退出系统。利用 Controller 窗口的“场景计划”窗格,可创建能更准确模拟典型用户行为的场景计划。例如,创建手动场景后,您可以设置场景的持续时间或选择逐渐运行和停止场景中的 Vuser。现在您可以更改默认负载设置并配置场景计划。1 选择计划类型和运行模式。在“场景计划”窗格中,选择计划方式:场景和运行模式:实际计划。HP LoadRunner 快速入门152 设置计划操作定义。在“操作”网格中,配置下列设置:a 设置 Vuser 初始化。在“操作”网格中双击初始化。这时将打开“编辑操作”对话框,显示初始化操作。选择同时初始化所有 Vuser。b 指定逐渐启动。在“操作”网格中双击启动 Vuser。这时将打开“编辑操作”对话框,显示“启动 Vuser”操作。在启动 X 个 Vuser 框中,输入 8 个 Vuser 并选择第二个选项:每隔 30 秒启动2 个 Vuser。c 计划持续时间。在“操作”网格中双击持续时间。这时将打开“编辑操作”对话框,显示“持续时间”操作。确保设置为运行 10 分钟。d 计划逐渐关闭。在“场景计划”中双击停止 Vuser。这时将打开“编辑操作”对话框,显示“停止 Vuser”操作。选择第二个选项:每隔 30 秒停止 2 个 Vuser。3 查看计划程序的图示。交互计划图显示了场景计划中的“启动 Vuser”、“持续时间”和“停止 Vuser”操作。此图的一个特点是其交互性,意味着如果您单击编辑模式按钮,就可以通过拖动图本身的行来更改任何设置。HP LoadRunner 快速入门16使用 Controller 运行场景既然已经设计了负载测试场景,接下来就可以运行该测试并观察应用程序在负载下的性能。在开始测试之前,您应该熟悉 Controller 窗口的“运行”视图。“运行”视图是用来管理和监控测试情况的控制中心。单击运行选项卡,打开“运行”视图。“运行”视图包含下面几部分:➤ “场景组”窗格。位于左上角的窗格,您可以在其中查看场景组内 Vuser 的状态。使用该窗格右侧的按钮可以启动、停止和重置场景,查看各个 Vuser 的状态,通过手动添加更多 Vuser 增加场景运行期间应用程序的负载。➤ “场景状态”窗格。位于右上角的窗格,您可以在其中查看负载测试的概要信息,包括正在运行的 Vuser 数目和每个 Vuser 操作的状态。➤ 可用图树。位于中间偏左位置的窗格,您可以在其中看到一列 LoadRunner 图。要打开图,请在树中选择一个图,并将其拖到图查看区域。➤ 图查看区域。位于中间偏右位置的窗格,您可以在其中自定义显示画面,查看1 到 8 个图(视图 & 查看图)。➤ 图例。位于底部的窗格,您可以在其中查看所选图的数据。选中一行时,图中的相应线条将突出显示,反之则不突出显示。“场景组”窗格“场景状态”窗格可用图图查看区域图例HP LoadRunner 快速入门17如何运行负载测试场景?在这一节,您将运行场景。1 开始场景。在“运行”选项卡上选择场景 & 开始,开始运行测试。Controller 将开始运行场景。场景运行大约 10 分钟。2 利用 Controller 的联机图监控性能。当测试运行时,可以通过 LoadRunner 的一套集成监控器实时了解应用程序的实际性能以及潜在的瓶颈。您可以在 Controller 的联机图上查看监控器收集的性能数据。联机图显示在“运行”选项卡的图查看区域。默认情况下,将显示下面几张图:“运行”选项卡显示下列默认的联机图:➤ “正在运行 Vuser - 整个场景”图。显示在指定时间运行的 Vuser 数。➤ “事务响应时间 - 整个场景”图。显示完成每个事务所用的时间。➤ “每秒点击次数 - 整个场景”图。显示场景运行期间 Vuser 每秒向 Web 服务器提交的点击次数(HTTP 请求数)。➤ “ 资源”图。显示场景运行期间评测的 Windows 资源。(尚未为这本快速入门配置此图)。有关场景运行期间监控性能的详细信息,请参阅《HP LoadRunner 教程》的第 8 课“运行负载测试”。分析场景结果现在场景运行已经结束,可以使用 HP LoadRunner Analysis 来分析场景运行期间生成的性能数据。Analysis 将性能数据汇总到详细的图和报告中。使用这些图和报告,可以轻松找出并确定应用程序的性能瓶颈,同时确定需要对系统进行哪些改进以提高其性能。为配合这本快速入门,我们提供了一个 Analysis 会话示例,它基于与前面运行的场景相类似的场景。HP LoadRunner 快速入门18如何启动 Analysis 会话?1 在 Controller 中,在 Controller 菜单中选择工具 & Analysis,或选择开始 & 程序 &HP LoadRunner & 应用程序 & Analysis 来打开 Analysis。2 在 Analysis 窗口中选择文件 & 打开。这时将打开“打开现有 Analysis 会话文件”对话框。3 在 &LoadRunner 安装位置&\Tutorial 文件夹中,选择 analysis_session 并单击打开。Analysis 将在 Analysis 窗口中打开该会话文件。是否达到了我的目标?Analysis 打开时会显示概要报告。概要报告提供有关场景运行的一般信息。在报告的统计信息概要部分,您可以了解测试中运行的用户数,并可查看其他统计信息,例如总/平均吞吐量和总/平均点击次数。报告的事务摘要部分将列出每个事务的行为概要信息。如何看图?Analysis 窗口左窗格内的图树列出了已经打开可供查看的图。在图树中,您可以选择打开新图,也可以删除不想再查看的图。这些图显示在 Analysis 窗口右窗格的图查看区域中。您可以在该窗口下部窗格内的图例中查看所选图中的数据。平均事务响应时间通过“平均事务响应时间”图,可以查看在场景运行的每一秒内有问题事务的行为。在这一节,您将查看 check_itinerary 事务的行为。1 在“会话浏览器”窗格中右键单击“图”节点,然后选择添加新项目 & 添加新图。在“打开新图”对话框中,选择事务 & 平均事务响应时间并单击打开图。该图将添加到“会话浏览器”窗格。2 单击平均事务响应时间图。“平均事务响应时间”图将在图查看区域打开。HP LoadRunner 快速入门193 在图例中单击 check_itinerary。check_itinerary 事务将突出显示在该图中以及图下方的图例中。请注意,与图底部平均响应时间相对稳定的其他事务相比, check_itinerary 事务的平均响应时间波动非常大。HP LoadRunner 快速入门20如何比较不同图中的数据?将两个图关联起来,就会看到一个图的数据对另一个图的数据产生的影响。这称为关联两个图。例如,可以将“运行 Vuser”图与“平均事务响应时间”图相关联,查看大量 Vuser 对事务平均响应时间产生的影响。1 将运行 Vuser 图添加图树中,并单击图以在图查看区域查看它。2 在图查看区域右键单击运行 Vuser 图,然后选择合并图。3 在选择要合并的图列表中,选择平均事务响应时间。4 在选择合并类型区域中,选择关联,然后单击确定。现在运行 Vuser 图和平均事务响应时间图由一张在图查看区域打开的图表示。Analysis 的另一个工具是自动关联,用来合并所有包含可能已对给定事务产生影响的数据的图。事务与每个元素的关联都会显示出来,这样您就可以判断哪些元素对给定事务的影响最大。HP LoadRunner 快速入门21如何对图数据进行排序?您可以对图数据进行筛选,以显示较少的特定场景段事务;还可以对图数据进行排序,以更多关联方式来显示数据。例如,您可以对“平均事务响应时间”图进行筛选,仅显示 check_itinerary 事务。1 在图树中单击平均事务响应时间打开该图。2 在图查看区域右键单击该图并选择设置筛选器/分组方式。3 在事务名中单击值列并选择 check_itinerary。单击确定。筛选后的图仅显示 check_itinerary 事务并隐藏所有其他事务。如何发布结果?您可以使用 HTML 报告或 Microsoft Word 报告发布分析结果。HTML 报告可以在任何浏览器中打开和查看。Word 报告比 HTML 报告内容更全面,它可以包含场景的一般信息,也可以通过让您设置报告格式来包含贵公司的名称和徽标以及作者的详细信息。有关 LoadRunner Analysis 的详细信息,请参阅《HP LoadRunner 教程》的第 10 课“分析场景”。附录:使用 Web (Click and Script)Web (Click and Script) 是 HP 的新技术,可用来为负载测试场景创建 Web 脚本。使用 Web (Click and Script) 的优势如下:➤ Web (Click and Script) 脚本可以直观地描述 Web 界面上的操作。通过查看录制的函数(在图形用户界面上生成),可以确定用户在录制期间执行的精确操作。例如,当用户从列表中选择一项时,就生成 web_list 函数。➤ Web (Click and Script) Vuser 支持非 HTML 编码 (Javascript)。➤ Web (Click and Script) Vuser 不需要关联,因此不需要定义规则,也不需要在录制后执行手动关联。HP LoadRunner 快速入门22如何使用 Web (Click and Script) 录制业务流程?1 打开 VuGen。在 HP LoadRunner_11.00 窗口中选择创建/编辑脚本。这时将打开 VuGen 起始页。2 创建一个空白 Web (Click and Script) 脚本。注:录制此类 Vuser 的步骤与第 3 页的“使用 VuGen 创建脚本”中描述的步骤相同。在 VuGen 起始页中单击新建 Vuser 按钮。这时将打开“新建虚拟用户”对话框,显示“新建单协议脚本”画面。在所有协议类别的下方选择 Web (Click and Script) 并单击创建,创建一个空白的 Web (Click and Script) 脚本。根据第 5 页的“如何录制业务流程以创建脚本?”中的描述继续录制脚本。在何处可以看到 Web (Click and Script) Vuser 脚本的新功能?在树视图和脚本视图中均能看到 Web (Click and Script) 功能。树视图要在树视图中查看脚本,请选择视图 & 树视图 ,或者单击工具栏上的树按钮。对于录制期间执行的每个步骤, VuGen 在脚本树中为其显示一个图标和一个标题。步骤树快照HP LoadRunner 快速入门23在树视图中,您将看到以脚本步骤的形式显示的用户操作。每个父节点代表一个Web 页面,所有在该页面上执行的操作都将在该节点下进行分组。页面的节点可以展开或收缩以显示或隐藏这些操作。选择操作节点后,快照会显示执行操作的页面并以粉色边框突出显示对其执行此操作的对象。例如在上图中,当用户在 Username (用户名)框中输入数据时,同时也录制了快照。注意, Username (用户名)框突出显示,并且框中原来没有数据。脚本视图脚本视图是一种基于文本的视图,列出组成业务流程的操作。要在“脚本”视图中查看脚本,请选择视图 & 脚本视图,或单击工具栏上的脚本按钮。图形用户界面级的脚本函数可以直观地描述 Web 界面上的操作。例如,在可编辑框中输入数据时,VuGen 会生成 web_edit_field 函数,单击按钮提交数据时,会生成 web_button 函数(如果按钮是图像,则会生成 web_image_submit)。在录制的脚本中,您在 Username (用户名)框中输入了 jojo,在 Password(密码)框中输入了密码(已加密)。然后单击 Login (登录)按钮提交了数据。HP LoadRunner 快速入门24在 Web (Click and Script) 脚本中,每个函数的 DESCRIPTION 部分定义录制了操作的 UI 对象。您输入的数据将显示在每个函数的 ACTION 部分。如何将 Web (Click and Script) 脚本转换为 Web (HTTP/HTML) 录制模式?录制 Web (Click and Script) 脚本之后,该脚本可能不支持特定的环境,或者需要更灵活的扩展性。您可以将脚本转换为 HTTP/HTML 录制模式,而不必重新录制脚本。要将脚本转换为 HTTP/HTML 录制模式,请执行下列操作:1 选择工具 & 重新生成脚本。请注意,重新生成脚本时会覆盖所有的手动更改。2 单击选项,打开“重新生成选项”对话框。HP LoadRunner 快速入门253 选择常规:录制节点,然后选择 HTTP/HTML 级别 & 基于 HTML 的脚本。注:要将脚本在以后转换回 GUI 级别,请打开对话框并选择基于 GUI 的脚本。4 在“重新生成选项”对话框中单击确定,然后在“重新生成脚本”对话框中再次单击“确定”。HP LoadRunner 快速入门26如何概述业务流程?在脚本创建的最后阶段,您可以创建报告来描述自己的业务流程。VuGen 将脚本信息导出到 Microsoft Word 文档中。您可以使用预定义的模板或 VuGen 附带的模板来创建包含脚本运行概要信息的报告。要创建业务流程报告,请执行下列操作:1 选择文件 & 创建业务流程报告。这时将打开“业务流程报告”对话框。2 在报告标题框中指定标题,并在注释框中输入任意注释信息。3 接受默认的报告位置和文件名,或者浏览到目标路径。默认位置是脚本的保存位置,默认报告名是 &Script_name&_Business_Process.doc。4 您可以通过单击高级并选择要包含的内容类型来指定报告内容。5 单击确定。VuGen 将生成并显示报告。

我要回帖

更多关于 loadrunner 录制脚本 的文章

 

随机推荐