loadrunner11的脚本及场景设计详细总结_第1页
loadrunner11的脚本及场景设计详细总结_第2页
loadrunner11的脚本及场景设计详细总结_第3页
loadrunner11的脚本及场景设计详细总结_第4页
loadrunner11的脚本及场景设计详细总结_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1关于LoadRunner LoadRunner是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner能支持广泛的协议和技术,为您的特殊环境提供

2、特殊的解决方案。脚本规范有时我们为了衡量某个action的性能,需要在action的开始和结束位置插入这样一个范围,这就定义了一个transaction,LoadRunner 运行到该事务的开始点时,LoadRunner 就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在结果中会有反映。插入事务操作可以在录制过程中进行,也可以在录制结束后进行。LoadRunner 可以在脚本中插入不限数量的事务。脚本函数如下:脚本详细参数化首先选择待参数化的内容,点击右键,选择”Replace with parameter”。在弹出的对话框中,填写参数名称、选择Parameter Type

3、,再点击Propeties,进行参数属性设置。现选择最常用的一种参数类型,如下图所示:点击properties后,可对该参数进行个性化设置“Select next row ”有以下几种选择:多个VU如何取值· Sequential:按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取.· Random:在每次循环里随机的读取一个,但是在循环中一直保持不变· Unique :每个VU取唯一的值。注意:使用该类型必须注意数据表有足够多的数。比如Controller 中设定20 个虚拟用户进行5 次循环,那么编号为1 的虚拟用户取前5个数,编号为2 的虚拟用户取6

4、-10 的数,依次类推,这样数据表中至少要有100个数据,否则Controller 运行过程中会返回一个错误。Same Line As 某个参数(比如username):和前面定义的参数username 取同行的记录。通常用在有关联性的数据上面。这个也是很有用的,比如有时候我们要求指定VU取读取指定数据,就可以这样定义:创建参数文件,共两列,假设username、passwd,username设定取数方式是unique,passwd则设成 same line as icpcode,如果参数文件第一行数据为992201,200001,则当icpcode=992201时,icpservid会取20

5、0001。“Update value on”有如下几种选择:多次迭代如何取值· once在所有的反复中都使用同一个值,· each iteration则每次反复都要取新值,并且在每次循环中读到的该参数的值都相同· each occurrence则只要发现该参数就要重新取值,即如果一个action中有多个该参数,每遇到一个就要重新取一个值。脚本验证调试脚本,可以在【Vuser】>【Run-Time settings】中设置循环次数及log输出,然后运行2创建运行场景(Controller)当脚本创建好后,需要创建测试场景Scenario,一个运行场景包括一个运

6、行虚拟用户的机器列表,一个测试脚本的列表,及大量的虚拟用户,然后利用LoadRunner的Controller来组织测试方案。2.1虚拟用户数虚拟用户数目会直接影响到压力的大小。在一般情况下,采用递增虚拟用户的方式来寻找系统能够承受的合理压力。比如,预估总虚拟用户数为20个,可以设置初始为2个,每5分钟增加1或2个用户。设置好后,接下来就要对Run-Time Setting进行设置了。2.3 Run-Time SettingVU中也有一个run-time setting,但作用有所不同,此处的设置主要用来对整个场景运行时进行约束,此时脚本的运行时设置就会失效;若在此没有对运行时设置,则按照脚本

7、的设置来运行。一般情况下,会按照以下方式进行设置Run Logic:设置成1;比如设置这里为3,有2个并发用户,相当于执行了6次脚本Log: 将Enable logging前面勾去掉;即不打印输出日志,避免造成loadrunner压测机器磁盘撑爆Think Time:一般情况,为了增大对服务器的压力而选择Ignore think time;Browser Emulation:一般情况下,不选择Smulate brower cache和 Down non-HTML resousces;不选择Smulate brower cache 是为了最大程度模拟一个新用户打开链接时请求的都是服务器的资源而不

8、是本地的一些浏览器中缓存的内容;不选择Down non-HTML resousces是因为在压测时,更关注后端应用本身的性能,而不去下载存放在其他机器上的静态资源Preferences:可以将Advanced下的File and line in automatic transaction name取消掉;目的也是为减少压测机本身资源的消耗。其它设置项:使用默认设置即可。2.4Result设置场景设置好后,即将要开始运行。此时一定要记得的一件事情就是在【Result】>【Result Settings】下将 directory指定到硬盘空间大一点的目录下。因为我们在压测过程中会产生大量的临

9、时文件,如果放在默认目录C:Documents and SettingshanshanLocal SettingsTemp下的话,一般C盘空间都不会太大,会导致压测机器本身磁盘爆掉,进而影响压测结果。关于测试结果利用loadrunner的Analysis组件可以实现对整个测试场景的结果分析,场景结束后,在controller中可以点击【Resuluts】>【Analyze Results】,即可实现。关于对测试并发用户压力测试脚本示例:调用localhost本地服务,进行并发用户压力测试:Action()    web_set_sockets_op

10、tion("OVERLAPPED_SEND", "0");/关闭overlapped    web_reg_save_param("content",   "LB=",   "RB=",   "Search=Body",          

11、             LAST);    web_reg_find("Fail=NotFound",                 "Search=Body",    

12、60;            "SaveCount=times",                 "Text=group_field",           

13、      LAST);    /lr_convert_string_encoding(lr_eval_string("met_2"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString");  /此时skey是一个汉字列表的参数,把它转换为utf-8,存入UnicodeString参数中    /lr_save_string (lr_eval

14、_string("UnicodeString"),"met_2" );       /把UnicodeString参数的值又覆盖回skey参数,前2步相当于完成了skey参数的汉字到utf-8的转换   / web_convert_param("skey", "SourceEncoding=PLAIN", "TargetEncoding=URL", 

15、;LAST );        /这一步把skey参数从utf-8又转换到url编码    /lr_output_message("Url编码 = %s",lr_eval_string("skey");    /lr_convert_string_encoding(lr_eval_string("key2"),LR_ENC_SYSTEM_LOCAL

16、E,LR_ENC_UTF8,"UnicodeString");  /此时skey是一个汉字列表的参数,把它转换为utf-8,存入UnicodeString参数中    /lr_save_string (lr_eval_string("UnicodeString"),"key2" );       /把UnicodeString参数的值又覆盖回skey参数,前2步相当于完成了skey参数的

17、汉字到utf-8的转换    /web_convert_param("key2", "SourceEncoding=PLAIN", "TargetEncoding=URL", LAST );        /这一步把skey参数从utf-8又转换到url编码    /lr_output_message("Url编码 =

18、 %s",lr_eval_string("key2");    lr_rendezvous("同步访问web页面");/集合点    lr_start_transaction("url");    web_url("ropapi.ashx",         "URL=http:

19、/localhost:8080/bas-bi/ropapi?method=mmm&format=json&app_key=B3B6FEAB-4296-4190-9783-894FE11E630B&APP_SECRET=64ED1D47-C5F7-4840-9B3F-17D4C427CC57&bas_event=",         "Resource=0",       &#

20、160; "RecContentType=text/xml",         "Referer=",         "Snapshot=t1.inf",         "Mode=HTML",   

21、60;     LAST);     if (atoi(lr_eval_string("times")=1)         lr_end_transaction("url",LR_PASS);        else        lr_end_transaction("url",LR_FAIL);    /lr_convert_string_encoding(lr_eval_string("content"),"utf-8"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论