欢迎来到163文库! | 帮助中心 精品课件PPT、教案、教学设计、试题试卷、教学素材分享与下载!
163文库
全部分类
  • 办公、行业>
  • 幼教>
  • 小学>
  • 初中>
  • 高中>
  • 中职>
  • 大学>
  • 招考、培训>
  • ImageVerifierCode 换一换
    首页 163文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    《软件测试技术 》课件第6章软件性能测试-LoadRunner脚本录制与开发.ppt

    • 文档编号:7671619       资源大小:1.72MB        全文页数:95页
    • 资源格式: PPT        下载积分:15文币     交易提醒:下载本文档,15文币将自动转入上传用户(momomo)的账号。
    微信登录下载
    快捷注册下载 游客一键下载
    账号登录下载
    二维码
    微信扫一扫登录
    下载资源需要15文币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    优惠套餐(点此详情)
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、试题类文档,标题没说有答案的,则无答案。带答案试题资料的主观题可能无答案。PPT文档的音视频可能无法播放。请谨慎下单,否则不予退换。
    3、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者搜狗浏览器、谷歌浏览器下载即可。。

    《软件测试技术 》课件第6章软件性能测试-LoadRunner脚本录制与开发.ppt

    1、LoadRunner脚本录制与开发目录 1.协议概述 2.脚本录制 3.运行设置 4.脚本开发 5.脚本设置 6.脚本日志 7.脚本调试1.协议概述 网络软件不同实体间通信都要基于一定的协议。LoadRunner的用户代理将客户端与服务器通信的内容捕获到,并将其转换为VU脚本。只有选择了与被测试系统相匹配的协议,才能够获得正确的脚本。如果测试FTP服务器性能,而选择了Web协议,那么一定无法获得可运行的脚本。协议选择是录制脚本的第一步。1.协议概述单协议单协议多协议多协议移动协议移动协议主要协议主要协议最近协议最近协议1.协议概述 典型系统协议的选择规律如下:对于常见的B/S系统,选择Web(

    2、Http/Html)协议;对于一个C/S系统,根据C/S结构所用到的后台数据库来选择不同的协议。如SQL server,Oracle 2-tier协议等。对于没有数据库的C/S,可选择Windows Sockets协议。对于邮件系统来说,首先要看收邮件的途径,如果通过WEB页面收发邮件,选择HTTP协议;如果通过邮件客户端,像OutLook、FoxMail之类的,则需要根据操作不同选择不同的协议了,例如发邮件你可能要选择SMTP、收邮件你可能需要选择POP3。对于FTP系统,需要选择FTP协议。对于基于WebService搭建的系统,可以选择WebService协议。1.协议概述 对于非典型系

    3、统协议选择方式:通过询问开发人员了解系统所使用的协议。通过概要或详细设计手册了解系统所使用的协议。通过协议分析工具捕包分析,然后确定被测对象所使用的协议。使用loadrunner是9.5版本或者以上的版本,使用协议分析功能(Protocol Advisor),会自动帮助用户分析应该使用的协议。1.协议概述 自动协议分析:执行【Record】-【Protocol Advisor】-【Analyze Application】2.脚本的录制 2.1脚本结构 2.2 基本录制 2.3 录制选项 2.4 常见问题2.1 脚本结构 LoadRunner用Solution来组织脚本。VU脚本记录了用户对系统

    4、的访问过程,在LoadRunner中被存储为一个文件夹,其中包含各种类型的文件。一个VU脚本中可以包含多个Action,每个Action可以对应一系列系统操作。VU脚本中的Action可以重复执行,一个Action默认对应一个事务。2.1 脚本结构 执行Virtual User Generator中的【File】-【New Script and Solution】操作,可以新建一个脚本,选择合适的协议,单击【Create】按钮可以完成新的Solution和脚本的创建。新创建的脚本中包含三个默认的函数:vuser_init:虚拟用户初始化(一个脚本只有一个)Action:系统操作记录(可以包含多

    5、个)vuser_end:虚拟用户结束(一个脚本只有一个)2.1 脚本结构 在Solution中可以创建或添加一个新的脚本。在脚本的Actions下面可以创建或导入一个新的Action。2.2 基本录制 执行工具栏上的“录制”按钮,或执行Ctrl+R快捷键,可以出现“开始录制”对话框:选择将要进行的操作录制到哪个Action中设定录制模式、录用使用的应用软件、访问地址、录制是否立即启动及工作路径等内容2.2 基本录制 如果各项设置正确,当录制开始后,LoadRunner会自动打开指定的浏览器,自动访问被测试系统的URL地址,打开系统页面,同时将打开浮动的“正在录制”工具栏。在录制的过程中可以通过

    6、正在录制”工具栏添加一些命令,如可以切分脚本,将录制的内容存放在不同的Action中,也可以添加事务的开始点和结束点,还可以添加集合点和注释等。2.2 基本录制 当系统操作执行完成后,点击“正在录制”工具栏上的【Stop】按钮或执行Ctrl+F5快捷键,可以结束脚本的录制。所有客户端和服务器交互的协议会被放在Generation Log内,VuGen会对协议交互进行分析,最终生成脚本。2.2 基本录制 完成录制后,点击【Replay】-【Run】或使用快捷键F5,就可以回放脚本,以便验证脚本是否准确地模拟了用户操作。脚本停止运行后,用户可以点击【Replay】-【Summary】在向导中查看回

    7、放概要。如果要想在回放时在浏览器中出现执行过程,则在【tools】|【Options】中进行设置。2.2 基本录制2.3 录制选项 在开始录制脚本时,可以选择“录制选项”功能,弹出“Recording Options”对话框,在【General】-【Recording】选项中,可以对脚本录制模式进行选择。在LoadRunner 12中有两种脚本录制模式:HTML-based script URL-based script。2.3 录制选项 HTML-based script HTML-based script(基于HTML的脚本)录制模式指在脚本中采用HTML页面形式来表示,为每个用户操作生成

    8、单独的步骤,这种脚本更容易理解和维护,也更容易处理关联。对于正常的浏览器应用程序,推荐使用HTML录制模式。单击【HTML Advanced】按钮可以进入录制模式高级设置对话框2.2 录制选项 在高级设置中,主要对脚本类型和非HTML元素的处理方式进行了设置。(1)脚本类型 A script describing user actions(e.g.web_link,web_submit_form):是 LoadRunner的默认选项,脚本中的每一个函数直接对应着虚拟用户的一个动作,创建的函数主要有 URL(Web_url)、link(Web_link)、image(Web_image)以及表单

    9、提交(Web_submit_form)等几类。A script containing explicit URLs only(e.g.web_url,web_submit_data):将所有的 URL、link、image 都用 Web_url 函数来统一处理,在表单提交时则用 Web_submit_data 来处理。这样做的结果是脚本没有前一种方式那么直观,但如果网页中存在较多相似类型的链接时这样做更容易处理脚本中的参数化和关联问题。2.3 录制选项(2)非HTML-generated元素处理方式 纯静态的HMTL页面现在已经不多见了,更多的是包含JavaScript/ActiveX/VBSc

    10、ript/Applet的丰富多彩的动态页面。这些脚本语言往往含有或检索自己的资源,例如,Web 页面调用的一个 JAVA 脚本文件可能要下载许多别的资源,比如图片、文件等。通过LoadRunner 中相关选项的设置,可以控制在录制这类页面时的行为。LoadRunner 中对于非 HTML生成的元素的处理提供了三个选项:Record within the current step:将非HTML-generated生成的元素记录在当前步骤中;Record in separate steps using concurrent groups:将非HTML-generated生成的元素单独记录在并发组内

    11、;Do not record:不进行记录。2.3 录制选项 HTML-based录制的优点是:(1)资源从内存中取出且在回放时下载。因此,脚本比其他的录制方式更小且更容易阅读。(2)由于只有较少的硬编码脚本,因此只有较少的动态数值需要关联。(3)可以插入图片检查之类的语句以检查结果是否正确。(4)因为HTML模式回放时需要积极地解析返回的信息,因此它可能会比其他录制模式更加占用资源。2.2 录制选项 URL-based script URL-based script(基于URL的脚本)可以录下通过浏览器对服务器做的所有请求和资源获取,它自动将每一步的 HTTP 资源录制为 URL steps(

    12、通过 Web_url 函数进行处理)。由于基于URL录制脚本中使用的是 Web_url 来处理所有的动作,而不是象基于HTML方式那样使用 Web_link、Web_image 等,URL-based 方式录制的脚本不太直观,阅读不便。由于URL-模式录制了所有的请求和资源,需要做更多的关联。脚本看起来也会相当的复杂。在某个脚本录制实例中,录制同一个action时,使用HTML-based模式录制时只录制了约40行,而采用URL-based则录制了约220行。2.3 录制选项 综上,决定选择何种录制方式是可以参考以下方案:(1)如果应用是WEB应用,首选是HTML-based录制模式。(2)如

    13、果应用是使用HTTP协议的非WEB应用,首选URL-based录制模式。(3)如果WEB应用中使用了java applet程序,且applet程序与服务器之间存在通讯,选用URL-based录制模式。3.运行设置 在脚本执行过程中,有很多内容可以进行个性化设置,以进一步提高脚本的适用性和灵活性。点击【Replay】【Run-Time Setting】或使用快捷键F4打开运行时设置,是用来设置脚本运行时所需要的相关选项。3.运行设置3.运行设置 Run Logic运行逻辑:定义了脚本回放和执行过程中每个Action的迭代次数和执行顺序。Number of Iterations:设置迭代次数,这里

    14、的迭代次数指的是Run部分的运行次数,不包括Init和End(它们只运行一次)。Insert Action:插入Action。Insert Block:提供了一个脚本块的功能,方便用户对Action进行管理 Delete:删除Action;Move Up向上移动;Move Down向下移动;Properties属性,这有两种运行模式:Sequential:在Run下的所有脚本将按照从上到下的先后顺序运行;Random:在Run下所有脚本根据各自设置的比例进行随机选择运行。3.运行设置Pacing步:配置脚本运行中每次迭代之间的等待时间。As soon as the previous itera

    15、tion end:默认设置,两次迭代之间不需等待。After the previous iteration ends:在前一次的迭代的结束后的一段时间后开始下一次迭代,等待间隔包括两种情况:fixed:固定等多少时间,输入等待的秒数。random:随机等某个范围内的时间间隔,设置最短间隔和最常间隔范围。At fixed/random intervals,every sec:设置一个重复迭代的周期,有两种情况:fixed:固定周期,设定周期时间。random:设定一个随机周期,指定周期的最短范围和最长范围。注意,在上一个迭代完成前,新迭代将不会开始,即使其已经超出了间隔时间。3.运行设置Log日

    16、志:设定了系统记录日志的方式 Send message only when an error occurs:只有当发生错误时候才发送日志信息 Always send mesages:总是发送日志信息 Standard log:标准日志 Extended log:扩展日志Parameter substitution:显示参数的赋值取值Data returned by server:显示服务器返回的数据Advanced trace:高级的追踪3.运行设置 Think Time 设置:设置了系统回放和执行时对思考时间的处理规则。Ignore think time:忽略思考时间 Replay thin

    17、k time:在回放时使用思考时间 As recorded:根据录制的思考时间回放 Multiply recorded think time:给思考时间乘以一个倍数 Use random percentage of recorded think time:在给定范围内的一个随机百分比 Limit think time to:将思考时间限制在一个范围内。3.运行设置 Miscellaneous:其他设置,包括错误处理方式、虚拟用户创建方式和事务认定方式。3.运行设置错误处理方式:脚本中某个函数出错时该如何处理 Continue on error:出现错误了继续运行。Fail open trans

    18、action on LoadRunner_error_message:如果运行了LoadRunner_error_message的函数,就对已打开的事务标记为失败。Generate snapshot on error:错误出现时生成快照。虚拟用户生成方式 Run Vuser as a process:以进程运行虚拟用户。Run Vuser as a thread:以线程运行虚拟用户。事务认定方式 Define each action as a transaction:定义每一个action作为一个事务 Define each step as a transaction:定义每一步作为一个事务3

    19、.运行设置 Data Form Extension:数据格式扩展 Enables Data Format Extensions 在回放期间启用数据扩展。数据格式扩展可以将制定的数据转化成可读性更好的格式,允许对这些数据进行参数化和关联。Speed Simulation:带宽模拟,提供了宽带模拟的选项,默认情况下,脚本是以最大带宽的情况来进行访问的。Use maximum bandwidth 使用最大的带宽 Use bandwidth 使用规定的带宽 Use custom bandwidthbps 使用自定义的带宽3.运行设置 Browser Emulation浏览器模拟:模拟各种浏览器,非常适

    20、合用来做浏览器兼容性测试。User-Agent(brower to be emulated):用户代理(被模仿的浏览器)Simulate browser cache:模仿浏览器的cache Cache URLs requiring content(HTMLs):cache URLs中需要的内容 Check for newer versions of stored pages every visit to the page :每次访问页面时检查存储页面的更新版本 Dowload non-HTML resources:下载非html资源 Simulate a new user on each it

    21、eration:每次迭代模拟一个新用户 Clear cache on each iteration:在每次迭代的时候清除cache3.运行设置 Proxy代理 No proxy(direct connection to the internet):没有代理(直接连入国际互联网)Obtain the proxy settings from the default browser:从默认浏览器获得代理设置 Use automatic configuration script:使用自动配置脚本 Use proxy server使用代理服务器3.运行设置Preferences优先设置 Checks检查

    22、 Enable image and text check 打开图片和文本检查,一般情况下关闭该选项 Generate Web performance graphs设置回放时是否监控页面性能计数 Hits per second and http codes 每秒点击次数,HTTP的代码 Pages per second(html mode only)每秒页面响应数(只有网页模式)Response bytes per second每秒响应的字节数 Advanced高级的Winlnet replay instead of sockets(Windows only)使用winlnet的引擎回放脚本(只

    23、有Windows使用),默认使用socket端口的方式进行回放 File and line in automatic transaction names 文件和行自动添加一个唯一的事务名 Non-critical resource errors as warnings 非关键性的资源出错以警告出现 Save snapshot resources locally 在本地保存快照资源 Set advanced options 设置高级选项,提供了对HTTP请求的所有设置选项3.运行设置 Download Filters下载过滤器 Include only addresses in list 只包含

    24、清单里的地址 Exclude addresses in list 排除清单里的地址4.脚本开发 除了录制会话以外,VuGen还可以创建自定义VuGen脚本,可以利用VuGen API函数,可以使用标准的C、Java、Visual Basic、VB Script、JavaScript等代码。通过VuGen可以使用Vuser API或标准的编程函数在脚本中编写自己的函数,例如,使用Vuser函数度量服务器性能、控制服务器负载、添加调试代码、检索有关参与测试或监控的Vuser的运行时信息等。4.脚本开发 在LoadRunner的脚本中,通常含有如下三种函数:VuGen通用函数,一般以lr开头,例如:

    25、lr_start_transaction函数。协议相关函数,不同类型的Vuser的函数一般以本协议类型开头。如录制脚本是Web(HTTP/HTML)类型的,web_url就是一个协议函数,web前缀说明它是属于Web HTTP协议的,HTTP协议函数还包括web_list、web_link等。语言相关函数。C语言的标准函数等,都可以在这里被加载和使用。一般的,VU录制生成的脚本包含前两种函数。如果要对脚本进行扩充,可以使用第三种“用户自定义函数”开发。通过使用C语言灵活的控制流和变量,生成强大的脚本。4.脚本开发 下面简要介绍通用VuGen函数。具体的用法请参照HP LoadRunner的帮助

    26、手册。事务和事务控制函数 命令行分析函数 系统信息函数 字符串函数 消息函数 运行时(run-time)函数4.脚本开发 事务和事务控制函数:软件系统的性能就是依靠一个个事务来度量的。LoadRunner中事物的定义就是依靠事务函数来进行的。包括:lr_start_transaction:标记事务的开始。lr_end_transaction:标记事务的结束。lr_get_transaction_duration:获取事务的持续时间(按事务名称)lr_get_transaction_think_time:获取事务的思考时间(按事务名称)lr_get_transaction_wasted_time

    27、:获取事务浪费的时间(按事务名称)lr_resume_transaction:继续收集事务数据以便进行性能分析4.脚本开发 命令行分析函数:当loadRunner用命令行方式启动和运行时,以下函数用来分析命令行,以得到命令行中的参数信息:lr_get_attrib_double:检索脚本命令行中使用的double类型变量。lr_get_attrib_long:检索命令行中使用的long类型变量。lr_get_attrib_string:检索命令行中使用的字符串。4.脚本开发 系统信息函数:用来得到VuGen的系统信息 lr_user_date_point:记录用户定义的数据采集点。lr_who

    28、ami:将有关vuser的信息返回给Vuser脚本。lr_get_host_name:返回执行Vuser脚本的主机名。lr_get_master_host_name:返回运行Controller的计算机名。4.脚本开发 字符串函数:在Loadrunner中提供了C对字符串处理的相关功能函数,如下:lr_save_datetime:把当前日期和时间保存到一个参数中。lr_save_int:把一个整数保存为参数。lr_save_searched_string:保存一个字符数组相对于字符串出现的部分。lr_save_string:把一个字符串保存到参数中。lr_save_var:把字符串的一部分内容

    29、保存为参数。lr_eval_string:返回参数的实际内容或返回一个包含参数的字符串的实际内。4.脚本开发 消息函数 lr_debug_message:将调试消息发送到输出窗口。lr_error_message:将错误消息发送到输出窗口。lr_get_debug_message:检索当前的消息类。lr_log_message:将输出消息直接发送到output.txt文件,此文件位于Vuser脚本目录中。该函数有助于防止输出消息干扰TCP/IP通信。lr_output_message:将消息发送到输出窗口 lr_set_debug_message/为输出消息设置消息类。lr_vuser_sta

    30、tus_message:生成格式化输出并将其打印到ControllerVuser状态区域。lr_message:将消息发送到Vuser日志和输出窗口。注意:在runtime设置中有日志级别的设置,设置不同的级别,会决定这些函数在运行时是否能够生效。4.脚本开发 运行时(run-time)函数:是通过VuGen的runtime来设置的。有以下函数可以放在脚本中来实现,使LoadRunner的控制更加精确,对外更加灵敏。lr_load_dll:加载外部的DLL。lr_think_time:暂停脚本的执行,模拟思考时间,思考时间用完后,继续执行。lr_continue_on_error:制定脚本处理

    31、错误场景的策略,是继续还是退出。lr_rendezvous:在Vuser脚本中设置集合点。4.脚本开发 注释用来向用户提示或解释程序的意义,可出现在程序中的任何位置,在程序编译时,不对注释做任何处理。软件中对每个文件头,自定义函数和变量,重要的处理过程都要有必要的注释。LoadRunner脚本的注释方法与C语言的中的注释方法相同,提供两种注释方法:单行注释。在代码行的后面,添加“/”,“/”的后面直到本行结束的内容为注释内容。块注释。一个注释块是以“/*”开头,并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。脚本的注释是很重要的部分,可以很大程度上提高程序的可读性,我们要把注释看做程

    32、序的一部分来认真书写。5.脚本设置 5.1事务设置 5.2检查点设置 5.3参数化设置 5.4关联设置 5.5集合点设置5.1事务设置LoadRunner中的事务是执行时间的计量单位,可以帮助用户统计操作的响应时间,事务响应时间是通过记录用户事务开始时间和服务器返回内容到客户时间的差值来计算用户响应时间的。要度量事务,需要插入Vuser函数以标记任务的开始和结束。在脚本内可以标记的事务不受数量限制,每个事物的名称都不相同。在场景执行期间,Controller将度量执行每个事物所用的时间。场景结束后,可使用LoadRunner的图和报告来分析各个事物的服务器性能。5.1事务设置设置事务的方法如下

    33、:系统默认将Action看做一个事务。在脚本中,可以通过事务函数来定义事务。事务的开始函数是lr_start_transaction(),选择新的事务的开始点,依次点击【鼠标右键】-【Insert】-【Start Transaction】或者使用快捷键Ctrl+T添加。事务的结束函数是lr_end_transaction(),选择新的事务的结束点,依次点击【鼠标右键】-【Insert】-【End Transaction】或者使用快捷键Ctrl+Shift+T添加。5.1事务设置设置事务的方法如下:也可以在录制时插入事务。(这种方法更易操作)已录制到脚本的事件数结束录制暂停录制取消录制暂停录制后

    34、继续录制录制脚本所属的Action创建新的Action插入事务的起始点插入事务的结束点录制时间插入集合点插入文本检查插入注释5.2 检查点设置 事务执行是否成功是衡量系统稳定性和可靠性的一个重要指标。LoadRunner在执行脚本过程中,如果没有报明显的错误,则均认为事务执行成功。为了更精确了解事务执行的情况,可以通过设置检查点,更加准确的判断事务执行的情况。检查点机制能够对服务器返回的内容进行检查,能够帮助系统来验证请求发送出去后,服务器的返回是不是用户期望的内容。设置检查点的目的不只是为了验证脚本没有错误,而更重要的是一个规范问题,要想使得测试结果更具有说服力,就需要给所有的测试脚本都添加

    35、检查点设置。5.2 检查点设置 检查点有两种类型:文本检查点:如果执行结果中包含文本提示,则可以通过文本检查点验证返回结果的正确性。图像检查点:如果执行结果是通过某个图像进行提示,则可以通过图像检查点验证返回结果的正确性。5.2 检查点设置 设置检查点的方法:在录制的过程中,选中一段文本,点击检查点按钮或者找到相应位置Insert-New Step-Add Step加入函数;文本检查点函数是通过Web_reg_find()来实现的,是一个注册型函数,注册函数一定要写在请求前,所以该函数一定要出现在检查文本之前。图片检查点可以通过Web_image_check(“函数标题”,“ALT=图片说明”

    36、,“LAST”)来实现,图片检查点函数必须要在run-time setting中打开Preferences下的Enable Image and text check才能有效。5.2 检查点设置Search for specific Text:需要检查的特定文字,搜索具体的文本。Search for Text by start and end of string:左右边界的查找功能。Search in:查找的范围。Save count:记录期望的查找内容出现次数,并保存到一个参数中,写参数名。Fail If:什么情况下检查点函数错误:Found,Not Found。5.2 检查点设置 点击OK后

    37、,工具会自动生成一个函数 Web_reg_find(Fail=NotFound,Search=Body,SaveCount=regcheck,Text=for registering and welcome to the Web Tours family,LAST);也可以在脚本中,手写Web_reg_find()函数。举例:代码一:web_reg_find(Text=Payment Details,LAST);说明:“Payment Details”为要检查的正确的文本;脚本执行到此处,若在页面上找到了这几个字符串,那脚本继续执行下去;若没有找到,脚本将在此报错并且结束。5.2 检查点设置

    38、举例:代码二:web_reg_find(Text=Payment Details,SaveCount=para_count,LAST);/变量para_count保存找到的文本的个数 if(atoi(lr_eval_string(para_count)0)/验证是否找到了页面上的要检查的字符串lr_output_message(Pass!);/找到运行日志中输出“Pass!”else lr_output_message(Failed!);/没有找到在运行日志中输出“Failed!”脚本执行到此处,不管页面上是否存在要检查的字符串,脚本都不会报错,而是执行下去。5.3参数化VU脚本在回放和测试过

    39、程中重复执行脚本内容。有些情况下,重复内容是无法多次提交的,例如:当提交订单操作,每次订单号都不同,系统不允许存在相同订单号的订单。当用户登录系统时,一个用户不能多次登录系统。在这种情况下,录制好的固定的输入无法满足动态测试的要求。为了更加真实的模拟实际环境,需要对这样一些不允许固定的内容进行参数化处理。参数化包含以下两项任务:在脚本中用参数取代常量值。设置参数的属性以及数据源。5.3参数化LoadRunner提供了对脚本参数化的非常好的支持,最简单的方法是通过上下文菜单直接对脚本中的某部分内容进行参数化操作,具体操作方法如下:(1)在脚本中选择需要参数化的内容,单击鼠标右键,从弹出的菜单中选

    40、择Replace with a parameter命令,如图所示。5.3参数化(2)在弹出的对话框中输入参数的名称、类型,这里设置参数名为username。5.3参数化(3)单击Properties按钮,在弹出的对话框中设定参数数据池的内容以及参数的取值方式。5.3参数化也可以直接在脚本中使用参数括号(Parameter Braces)自定义参数。参数括号是LoadRunner在脚本中用于标识参数的括号符号,LoadRunner在执行脚本时会将所有参数括号包裹的内容作为参数处理。参数括号可由用户自行选择,方法是从菜单中选择【Tools】-【Options】-【Scripting】-【Param

    41、eters】,在右侧窗口选项中设置。默认的Parameter Braces是“”和“”,但在LoadRunner中,用户可以自行将其指定为!、#、$、%、&、(、)、|、?中的任何一个或者两个。5.3参数化虽然最常用的参数类型是文件型参数,它可以方便地自定义任意数据组合,但LoadRunner提供的参数类型非常多,各种类型的参数可以适用各种不同的要求。以下逐一解释各参数类型的具体含义以及参数适用的场合。(1)Date/Time在运行时,该类型的参数用脚本执行时的日期和时间来替代,在设置此类型的参数时,可以在设置界面中给定参数的格式。这种类型的参数由于可以给出脚本执行时的时间信息,因此在脚本中,

    42、可以将其作为需要输入“当前时间”的输入;同时,由于该参数的唯一性,也可将其作为需要唯一输入数据的一部分。该类型的参数还可以通过Output窗口或日志(Log)进行输出。5.3参数化(2)Group Name 在运行时,该类型的参数用执行脚本的VU所属Group的名称来替代。这种类型的参数可以指出脚本是由哪个VU组执行的,在场景中,可以利用这种类型的参数为不同Group的脚本制定不同的行为(如输入不同的数据)。(3)Iteration Number 在运行时,该类型的参数用脚本执行的当前迭代次数来替代。这种类型的参数可以指出脚本当前执行时的迭代次数,在场景中,可以依据该参数的取值设定不同迭代次数

    43、时的行为。5.3参数化(4)Load Generator Name 在运行时,该类型的参数用产生执行脚本VU的负载产生器(Load Generator)的名称来替代。(5)Random Number 在运行时,该类型的参数用一个随机的整数来替代。在设定该类型的参数时,需要指定参数的取值范围。每次参数的值需要更新时,都会在给定的范围内产生一个随机数来替代参数。5.3参数化(6)Unique Number 在运行时,该类型的参数用一个唯一的整数来替代。在设定该类型的参数时,需要指定参数的起始值和范围(通过位数给出),同时需要给出的还有Block的值(Block值是指一个VU运行过程中该参数的最多可

    44、能取值)。例如,给出参数的起始值为0,参数的格式为05d%,则参数的所有可能取值为099999共100000个;设定参数的Block值为500,则为了使一个场景中所有VU的每次迭代该参数取值均不同,该场景只能有500个VU,每个VU的迭代次数最多为200次。5.3参数化(7)Vuser ID 在运行时,该类型的参数用Controller为每个VU分配的唯一ID来替代。在场景中,每个用户都有一个唯一用户名,区别这个用户是通过用户的ID来说明的。例如Vuser1,Vuser一般为脚本名,用户编号为1。如果在每个VU运行过程中需要一个与其他VU进行区别的标识,可以用该参数。5.3参数化(8)User

    45、-Defined Functions 该参数类型是LoadRunner保留的一个扩展接口。在脚本中给出一个本类型的参数,需要指明参数所在的动态库与该参数来源的函数名称。特别要说明的有两点:1)该类型参数来源的函数原型必须为:_declspec(dllexport)char*(char*,char*)LoadRunner在处理该参数时向函数传递的两个参数均为NULL。用参数方式扩展LoadRunner的功能非常有限,因为该方法不能向函数传递实际可用的参数,因此一般仅用该方式从DLL中的简单函数获取信息,例如,从DLL中的某个获取版本的函数中取得的版本,或是通过某个接口获取固定的信息等。如果需要从

    46、外部函数获取更多信息,或是更灵活地使用外部函数提供的功能,请参见检查返回数据的正确性的相关内容。2)该函数所在的动态库必须放在LoadRunner可以找到的地方,建议在设定时使用指向其的绝对路径。5.3参数化(9)Data File和TableData File和Table类型是最常用的参数类型,这两种参数类型基本相同,均可以利用数据文件为参数提供数据池,并设置参数依据某种规则从数据池中取出数据替代脚本中的参数。LoadRunner提供了从数据库中获取数据并形成数据池的Wizard,用户可以通过该Wizard用SQL语句将数据从数据库中取出形成数据池。要特别提醒的是,在形成数据池后,数据库中的

    47、数据变化不会影响数据池中数据。5.3参数化图中所示的是Data File和Table类型参数的Update方式设置对话框内容,从图中可以看到,参数的Update方式包含Select next row、Update value on和When out of values 3个选项。Select next row指明了以何种方式从数据池中获取数据,该下拉列表共有3个选项:Sequential、Random、Unique和Same line as。其中Sequential表示按照顺序取值;Random表示从数据池中随机取值;Unique表示每次取唯一值;Same line as选项,这个选项只有当参

    48、数多于一个时才会出现,其作用是根据某一个参数的行号取同一行。5.3参数化 Update value on指明了参数值在何时发生改变。该下拉列表共有3个选项 Each iteration表示在每次迭代时更新参数的值;Each occurrence表示在参数每次出现时更新参数的值。Each iteration而言,一个VU执行时,每次迭代时更新参数的值,如果在一个迭代过程中某参数出现了多次,参数取相同的值;而对Each occurrence而言,如果在一个迭代过程中某参数出现了多次,每次都取不同的值。Once则表示VU在执行时,只在第一次迭代时为参数取一次值,以后每次迭代使用相同的值。只有当参数的

    49、Select next row设置为Unique时,才能保证每个VU在每次迭代时取不同的值。5.3参数化 When out of values选项只在Select next row设置为Unique时才有效,当数据池中的数据量不能支持迭代和Unique要求的数据量时,可以通过设置该选项的值指示LoadRunner的处理方法。如果该选项设置为Abort VUser,则遇到这种情况时,VU停止运行;如果该选项设置为Continue in a cyclic manner,则遇到这种情况,重新从数据池的第一个取值开始循环;如果该选项设置为Continue with last value,则遇到这种情况

    50、,所有不足的取值都用最后一个取值来替代。5.3参数化(10)Custom 这里提供了一个自定义的参数类型,只需要填写参数即可使用,为了阅读方便也可以写上对应的Description。(11)XML 作为一种流行的数据格式,XML在业界得到了大量的应用,而XML参数类型提供了对XML格式的支持。在XML参数设置界面中,单击Edit Data按钮,可以对XML的元素和节点属性进行维护。每个节点后都可以填写自己的值,通过Add Column为一个节点添加属性,通过Duplicate Array Element可以新增一个节点下元素。但是XML参数类型并不是很实用,当我们需要实用的参数值为XML时,还


    注意事项

    本文(《软件测试技术 》课件第6章软件性能测试-LoadRunner脚本录制与开发.ppt)为本站会员(momomo)主动上传,其收益全归该用户,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!




    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库