




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LR中的脚本说明(转载)本帖最后由 丁宁 于 2009-3-23 14:13 编辑 原文地址:/1lrscript.htm下面是有人翻译的,我转帖过来,大家一起学习。/1lrscrpt.htm上是关于脚本编写的介绍.下面是第一部分,脚本的开发.VuGen脚本文件的开发过程1。定义测试项目的目标,环境,脚本,测试数据,硬件等。脚本应该符合编码规范或编码习惯。2。创建一个版本文件夹来保存被测应用程序相关的各种不同资源,例如截获的.png/.gif图形文件,录制过程保存的html文件,录制中的所有html源文件和VuGen的录制日志。3。列出(在表里)每一个手动操作业务过程需要的实际步骤1)截取每一个屏幕图像(screen image )。2)为每一个屏幕(screen)分配一个唯一的事务名称。3)为处理的每一个步骤使用的技术组件(URL或者方法和函数)做注释。4。创建一个版本文件夹。注:我不喜欢使用默认位置,我喜欢把所有脚本相关的文件放到一个相同的文件夹中。不幸的是,这意味着如果我在不同的测试间互相交换录制,那我每次都得记住修改默认的设置。注:当录制一个新的脚本时,我喜欢选择多协议而不是单个协议。5。根据你的业务处理列表上指定的用户使用步骤和screen的顺序来使用VuGen录制程序,产生一系列脚本代码。在“开始录制”对话框中* 使用COM/DCOM 协议时,选择“Win32应用程序“* 使用Web(HTTP/HTML)时,选择“Internet Application“6。根据改进脚本方法和脚本语言规则来修改脚本。 改进脚本的方法: 1)为每一个GUI的screen添加事务语句来获得事务时间。 2)添加显示数据来帮助调试。 3)添加验证点来验证是否期望的文本或者图片在每个脚本执行后显示。 4)通过插入新参数和动态获得整个文件的方式对硬编码的URL,用户id,用户密码和其他的变量数据进行参数化。这样脚本中的参数就可以被动态的替换,以此来模拟运行时不同数据的使用。 5)添加重试逻辑(retry logic)来处理不可见的错误。 6)添加随机函数发生器变化脚本来模拟真实的负载。 7)添加if/else逻辑来检查结果,或者来进行合适的操作,或者来在合适的时候退出脚本。 8)在一个screen中添加语句来捕获需要在其他命令中使用的数据。当使用Microsoft .NET的web form技术的时候,需要避免习惯性的“脚本超时“错误。 9)添加语句来调用外部库函数,以便保存和检索在内存Virtual Table Server中的数据。 10)处理XML. 11)添加语句来模仿客户端的Javascrpt问题。 12)添加语句来管理超时。 13)从事务计时器中计算和减去无效的时间。 14)输出日志。 15)添加集合点。 16)添加时间(Timing)。脚本语言规则: 把cookie代码标注出来(因为脚本运行的时候他们被再次执行)。7。通过在VuGen中运行来调试和调整脚本(单个用户),同时运行时设置的日志能够显示如下信息: 辨别和解决脚本编辑错误。 决定timing. 设置初始运行设置的场景。8。在控制器中使用full test Runtime Settings来运行脚本。脚本录制和产生:建立一个新脚本的第一步是选择一个单协议或多协议。 * 一些协议可能在多协议模式下不能用。 * 只有在多协议的GUI下你才能重新排列action在使用Java协议之前,确保你在环境变量的路径下有JDK,否则你可能会遇到这个错误: Error: Failed to find javac.exe Java Compiler in Path and JDK installation folder in registry. MsgId: MERR-22981 Error: Failed to get JRE version. Check that your PATH environment variable contains bin directory. MsgId: MERR-22986 当选择Java协议的时候: * 只有选择了“RMI Java”才能录制。 * 如果选择“Java user”,“开始录制”图标或菜单是灰色的。当你打开一个新的脚本时,默认的脚本名称为“noname1”。下一个新的脚本名称为“noname2”,以此类推。注:有顺序的录制多个动作(而不是录制一个动作,然后停止开始另一个动作)。这样能使你识别出在你脚本中需要关联的序列码(在例如PeopleSoft的程序中)。注:每次修改脚本后,脚本都需要重新编译。Java:略脚本文件的调用: VuGen是默认在你双击.usr后缀文件的时候被调用。 在这个文件里,Javascrpt被指定为“Type=General-Js”。为了避免重新编译,我使用命令行的变量和值得组合这样的批处理文件来调用控制器。例如: REM LoadRun from LoadRunner 8.0 default installation location: b#E(N1t+v6l5B$R0SET LR80=C:Program FilesMercury InteractiveMercury LoadRunnerbin cd %LR80% 3R+M D24|%m B0wlrun.exe -TestRun c:TempScenario1.lrs -port 8080 脚本文件Action主机上的代理发送的到服务器的请求是由虚拟用户生成器创建的(VuGen.exe)action的回放实现的。Loadrunner创建的脚本有三部分:* vuser_init 来初始化 Vuser。执行在这部分的虚拟用户的状态是Init* Action 用来重复多次迭代执行到这部分的虚拟用户的状态是Running * vuser_end 推出虚拟用户。 执行到这部分的虚拟用户的状态是Exiting如果你的脚本只需要执行一次,你仍然需要把这些脚本写到Action部分,因为在其他部分(vuser_init 和vuser_end)有些命令是不合法的或者会忽略掉。VuGen允许脚本包含多个action。所以我为每一个screen创建一个新的action。注:如果你想使用不同的用户登陆,就不要把登陆操作放到vuser_init中,而是放到action部分。VuGen根据选择脚本选择协议的不同来添加不用的引用到“.h”头文件。C的.h头文件对于Web(HTTP/HTML)协议,创建globals.h,包含内容: #ifndef _GLOBALS_H#define _GLOBALS_H/-/ Include Files#include lrun.h#include web_api.h#include lrw_custom_body.h / recorded for web_custom_request functions./-/ Global Variables#endif / _GLOBALS_H对于COM/DCOM协议:略C脚本语言的格式:LoadRunner使用的没有进行微软扩展的ANSI C语法。任意最小的action代码块如下:#include as_web.h / from LoadRunners include folder.Action1() /* comment block */ / comment linereturn 0;C脚本编译/类库当VuGen编译脚本时,产生一个pre_cci.ci文件,这个文件包含了所有action的代码和包含文件。这就是为什么会有语法错误“not writing pre_cci.ci”的原因。控制器编译这些.ci文件为机器目标码。VuGen在每一个脚本文件中自动创建一个lib文件夹,这个文件夹中包含了combined_lib.c文件。该文件包含了所有引用文件。#include lrun.h 来定义 UNIX或者Windows的函数。#include globals.hLoadRunner的模版文件夹的其中一个。 #include vuser_init.c #include Action.c #include vuser_end.c 警告:当你使用类库中的函数却没有正确包含该类库的时候,你会收到一条错误信息:Error - Unresolved symbol C类库LoadRunner 使用1994 GNU C Pre-Processor options 和1995 LCC-win32 Retargetable C Compiler/Linker from the Free Software Foundation via Chris Fraser of AT&T and Dave Hanson of Prin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 边防专业能力测试题及答案
- 专业化学测试题及答案
- 2025至2030疫苗管理解决方案行业发展趋势分析与未来投资战略咨询研究报告
- 市场2025年工作总结
- 幼儿园中班个人工作总结
- 2025至2030中国海底油井干预系统行业发展趋势分析与未来投资战略咨询研究报告
- 2025年智能可穿戴设备睡眠监测技术创新与睡眠环境优化
- 2025年智能警务安防监控系统集成技术创新应用可行性研究报告
- 社区图书馆电子书采购与数字阅读服务合同
- 小班下学期期末汇报课大纲
- 两个责任 培训课件
- 弥勒湖泉酒店云南营销策划方案
- 2023年四川能投宜宾市叙州电力限公司招聘历年高频难易度、易错点模拟试题(共500题)附带答案详解
- 养生行业公司架构分析
- 护士与医生的合作和协作
- 通信管道管线施工安全操作规程
- 设立旅游文化产业投资公司商业计划书
- 预埋工施工机械用电安全保护详细措施培训
- 煤炭分选工艺中的安全操作标准
- 第六章反求工程与创新设计
- 水产微生物学全套教学课件
评论
0/150
提交评论