




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章 HP LoadRunner脚本录制与开发7.1 LoadRunner协议概述7.1.1 HTTP 协议HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。一般B/S架构应用系统,需要选择这个协议7.1.2 FTP 协议FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。如果应用系统是一个FTP服务器,需要选择这个协议7.1.3 Socket协议 socket的英文原义是“插座”。socket非常类似于电话插座,是通信协议如果C/S类型的应用系统,客户端和服务器采用socket通信,可直接选择 Socket协议,但是直接使用Socket协议可读性差,效率不高,因此只有其他协议不合适,或不清楚选择何种协议时,才选择Socket协议7.1.4 Web Service 协议Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。 Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制7.1.5 RTE协议RTE协议是对一些遗留系统进行测试时进行终端仿真时的协议,终端仿真就是使用一个计算机终端模仿另一个计算机终端7.1.6 协议的选择(1)被测试应用的技术架构以下列出一些LoadRounner支持的协议: 一般应用:C Vuser、VB Vuser、VB Script Vuser、JAVA Vuser、JavaScript Vuser 电子商务:WEB(Http/Html)、FTP、LDAP、Palm、Web/WinsocketDual Protocol 客户端/服务器:MS SQL Server、ODBC、Oracle、DB2、Sybase CTlib、Sybase DBlib、Domain Name Resolution(DNS)、Windows Socket分布式组件:COM/DCOM、Corba-Java、Rmi_Java EJB:EJB、Rmi_Java ERP/CRP:Oracle NCA、SAP-Web、SAPGUI、SAPGUI/SAP-Web Dual Protocol、PropleSoft_Tuxedo、Siebel Web、Siebel-DB2 CLI、Sieble-MSSQL、Sieble Oracle 遗留系统:Terminal Emulation (RTE) Mail 服务:Internet Messaging(IMAP)、MS Exchange(MAPI)、POP3、SMTP中间件:Jacada、Tuxedo 6、Tuxedo 7 无线系统:i-mode、voiceXML、WAP 应用部署软件:Citrix_ICA流:Media Plays(MMS)、Real (2)选择协议的原则1、一般情况下b/s构架的只要 选择WEB(Http/Html)协议就可以了,如果有中间件的则选择中间件服务器的协议 ; 2、C/S结构,可以根据后端数据库的类型来选择。如SybaseCTLib协议用于测试后台的数据库为Sybase的应用;MS SQL Server协议用与测试后台数据库为 SQL Server的应用; 3、一般不是基于浏览器的,对于一些没有数据库的Windows应用,我们在测试的过程中都会选择WinSocket协议来录制4、关于单协议和双协议,根据经验,只知道IE6内核的浏览器在录制脚本的时候要选择单协议,而IE7内核的浏览器在录制脚本的时候要使用双协议。 (3)协议选择参考 应用类型协议选择Web网站HTTP/HTMLFTP服务器FTP邮件服务器IMAP,POP3,SMTPC/S(第一种)客户端以ADO,OLEDB方法连接后台数据库MS SQLServer,Oracle,Sybase,DB2,InfrmixC/S(第二种)客户端以ODBC方法连接后台数据库ODBCC/S(第三种)没有后台数据库SocketERP系统SAPPeoplesoft分布式组件COM/DACOM EJB无线应用WAPPALM7.2 LoadRunner相关设置7.2.1运行设置单击replay|run-time setting 进行设置1、Run Logic运行逻辑脚本如何运行的,每个action和action之间运行的先后顺序就是在这里设置的Number of Iterations只为Run上设置迭代次数(运行的次数),不为Init,End设置。Insert Action插入Action,使脚本清晰明了。Insert Block提供了一个脚本块的功能,方便我们对脚本进行层次组合Delete删除Move Up向上移动Move Down向下移动Properties属性这有两种运行模式:Sequential:在Run下的所有脚本将按照从上到下的先后顺序运行Random:在Run下所有脚本根据各自设置的比例进行随机选择运行(Run上多了一个%)2、Pacing步调配置脚本运行中每次interation之间的等待时间,需要在重复做某件事之间插入一个等待时间,就可以通过这个功能来实现。每当出现一次starting iteration或者是ending iteration就会检查一次pacing的设置3、Log日志我们脚本的回放验证很多时候就是依靠日志来实现的,过多的日志虽然可以更清晰的了解脚本执行的内容,但是也为我们定位带来了不便。Send message only when an error occurs只有当发生错误时候才发送日志信息Standard log标准日志Extended log扩展日志4、Think Time思考时间通过这个来设置模拟用户等待操作的实现,由于Loadrunner回放脚本是全速进行的,而真正的用户的操作并不会如此迅速,所以要通过添加等待时间的方式,在脚本的运行过程中模拟用户的等待操作,实现这个操作的函数是lr_think_time()Ignore think time忽视思考时间Replay think time回放思考时间As recorded 当录制的时候Multiply recorded think time by xx Xx秒乘以录制的思考时间Use random percentage of recorded think time 使用随机的百分比录制思考时间Limit think time to xx seconds 限制思考时间为xx秒5、Additional attributes增加的属性Argument name参数名Argument value参数值6、Miscellaneous多种多样的Error Handing错误处理脚本中某个函数出错会导致整个脚本的停止运行,但在场景中会继续运行Multithreading进程与线程Automatic Transactions自动化事务7、Speed Simulation带宽模拟提供了宽带模拟的选项,默认情况下,脚本是以最大宽带的情况来进行访问的8、Browser Emulation浏览器模拟这个功能模拟了整个http头中的user-agent信息,从而让服务器错误的认为是一个个真实的客户端对服务器发出了请求,通过设置可以将脚本模拟成各种浏览器,用来做浏览器兼容性测试再合适不过了9、Proxy代理10、Preferences优先设置11、Download Filters下载过滤器7.2.2检查点设置1.文本检查点添加的代码根据你检查的方式不同而不同, 你可以选择其中之一即可。代码一:web_reg_find(Text=Payment Details,LAST);注:“Payment Details” 为你要检查的文本;脚本执行到此处,若在页面上找到了这几个字符串,那脚本继续执行下去;若没有找到,脚本将在此报错并且结束。代码二:web_reg_find(Text=Payment Details, SaveCount=para_count, LAST); /check 的函数这里是要运行的页面脚本if (atoi(lr_eval_string(para_count)0) /验证是否找到了页面上的要检查的字符串lr_output_message(Pass!);elselr_output_message(Failed!);注意:“Payment Details” 为你要检查的文本;脚本执行到此处,不管页面上是否存在你要检查的字符串,脚本都不会报错,而是执行下去。此段代码将找到的你要检查的字符串的个数,存为一个参数。 然后在页面代码的后面,通过检查这个参数的值是否大于0,来判断是否找到了你所要检查的字符串。注意:这里的测试结果均以200状态码返回,其失败的结果将在分析报告中进行分类标识。代码三:web_reg_find(Text=Payment Detdils, Fail=NotFound,LAST);或者web_reg_find(Text=Payment Detdils, Fail=Found,LAST);2.自动检查点3.图片检查点7.2.3事务设置事务是特殊的计时单位,思考时间不能包含在事务中lr_start_transaction(登陆); /设置事务开始lr_end_transaction(登陆); /设置事务结束7.2.4参数化1.参数化的方法选中要参数化的内容。方法一,右键-【Replace with a new parameter】方法二,菜单【insert】-【new Parameter】2.参数化类型选择7.2.5关联设置1.关联的目的关联也属于一钟特殊的参数化。一般参数化的参数来源于一个文件、一个定义的table、通过sql写的一个结果集等,但关联所获得的参数是服务器响应请求所返回的一个符合条件的、动态的值。录制的脚本中的SessionID是固定不变的,而服务器返回的SessionID是根据登录请求动态变化的。由此产生了问题。为了确保脚本回放的成功,我们需要获得服务器每次返回的动态SessionID,再将这个动态参数发回给服务器。而关联则可以做到这点。关联通过web_reg_save_param()函数来实现,这个函数可以帮助我们完成对服务器返回的保存操作。关联函数是一个注册型函数,需要告诉VuGen下一个请求返回是需要被处理的。所以该函数必须要写在请求前,如下,否则就会提示无法获得关联结果的错误。这时绝大多数使用关联的新手最容易犯错的错误。2.关联的方式关联就是对服务器的返回做处理的过程,而关联方式有3种:(1)自动关联自动关联是通过录制和回放时的服务器返回值比较确定需要关联的内容,然后再帮助生成对应的关联函数,常用在非标准的动态数据处理中。如sessionid,在大多数情况下,脚本无法正常回放都可以通过自动扫描的方法来生成关联,解决动态数据的问题。但是自动关联有很强的局限性,无法实现特殊的动态数据捕获,例如帖子的id,作者名等,这个时候就需要手动关联来解决它了。(2)手动关联通过web_reg_save_param()将想要的字符串保存到一个参数中。从而捕获从服务器返回的标题或正文的文本内容,也可以用来捕获服务器返回的超链接。如何设置一个自定义的新关联:在函数库中搜索web_reg_save_param_ex(),双击弹出对话框填写要关联内容的左边界,右边界系统会自动按照规则生成关联函数7.2.6集合点设置 考虑到客户实际使用系统时,用户是上百个的,很可能出现这些用户同时使用的情况,这样的场景下,几个测试人员手工测试是不现实的,这时考虑设计集合点并触发多个用户同时进行读取订单事务操作就比较适用。 集合点插入方法: 1. 录制时,在需要并发操作的事务前直接点击插入集合的按钮; 2. 录制后,录制的脚本中,在并发操作事务提交前插入,点击右键,选择,然后选择后面出现的,输入集合名称,脚本中出现,即添加集合点成功; 备注:集合点只能插入到Action部分,vuser_init和vuser_end中不能插入集合点。如果想要测试系统所能支持同时登录的用户数,登录的事务要写入到Action中,然后插入集合点进行测试7.3 LoadRunner日志7.3.1Loadrunner日志设置与查看 log文件位置(1)vgen的runtime settings设置:在vgen中,我们必须写输出函数输出信息,将我们所想要了解的信息用函数输出,主要有这么几个函数输出信息:lr_output_message,lr_error_message,lr_log_message。我们要在runtime settings中设置,勾选always send messages,具体的做法是:runtime settings-log-always send messages,这样我们才能写出Log,在我们的脚本所在的文件夹中,有两个文件很重要,mdrv.log.txt和output.txt文件,lr_log_message只会把信息输到mdrv.log文件中,而lr_output_message则会写进以上两个文件。(2)controller的runtime settings设置:在controller我们也要设置runtime settings,这样才能在场景运行后查看相应日志,而且每个用户组的runtime settings都有设置。设置的方法是:在controller的design标签页中,右下角的部分有runtim
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 葬礼进行曲课件
- 2025配送员合同协议范本
- 小班养鱼美篇题目及答案
- 常用工具考试试题及答案b卷
- 叉车培训考试试题答案及答案
- 2024译林版八年级英语上册Unit6 Seasons 动词和基本句型(一)含答案
- 仓库后勤管理考试题库及答案
- 2025年西式面点师职业岗位技术资格知识考试题与答案
- 营销课件APP教学课件
- 2025年五升六年级语文暑假专项提升:汉字(知识点归纳+试题)含答案
- 机场管制课件
- 贴牌生产委托授权书
- 做一个卓越而幸福的教育者课件
- 人教版小学数学五年级上册完美版全册PPT教学课件
- 《无人机组装与调试》-教学教案
- 跨境电商物流与供应链管理PPT全套完整教学课件
- C语言试讲稿课件
- 收音机组装指导书
- 义务教育科学课程标准(2022年版)测试题及答案含课标解读
- 水运工程统一用表之一《浙江省港口工程统一用表》
- GB/T 13306-2011标牌
评论
0/150
提交评论