Loadrunner一些不常用的功能总结.doc_第1页
Loadrunner一些不常用的功能总结.doc_第2页
Loadrunner一些不常用的功能总结.doc_第3页
Loadrunner一些不常用的功能总结.doc_第4页
Loadrunner一些不常用的功能总结.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

Loadrunner一些不常用的功能总结背景这两天各种通过项目给新人培训,没想到培训期间在给新人讲解的时候发现好多功能或者菜单自己也没用过也不知道干啥用。趁着这两天有点时间,赶紧总结下来,目的有二:一是能够补充自己认识不足;二是知道多一个功能在以后遇到问题的时候也能够多一条路子进行解决,别默默守着好用的工具或者好用的功能却因为不知道而被困难绊住。那个,实际上本文其实也就是翻译下loadrunner(以后简称:lr)自带的说明文件,然后网上找点资料啥的再结合一下自己的推测,在任何对应界面或者窗口按f1就有,想看原文的自己看就好,大家看着还是不懂的话建议自己百度,反正我这些也就是百度出来的。录制option就是这个了,打开啥样自己看,接下来按照左边的菜单一个一个说啦,只说不常用的啦。GeneralScript(脚本)上面的language我就不用多说了吧,主要说说下面的选项吧。Close all AUT processes when recording stops官方解释是。管他呢,AUT是application under test被测应用,整个解释翻译过来就是:当你停止录制时自动关闭被测应用。我试过了,比如你用ie访问网站录制,如果你点了停止录制,那么lr打开的哪个ie窗口也没了。顺便一提,这个选项的默认值是关闭的。Generate fixed think time after end transaction翻译完就是:以秒为单位,在每个事物之后添加一个固定的思考时间。这个也是默认关闭的,如果开启,默认添加的思考时间是3秒,当然你可以自己设置。Generate recorded events log生成一个日志记录事件,啥样的事件呢,录制过程中发生的事件都算。这个默认是关闭的Generate think time greater than threshold为思考时间设置一个坎,超过这个坎的就加思考时间,没超过这个坎的就不加。比如说你设置了5秒,那么思考时间超过5秒的,lr就在你脚本里面里面加上个思考时间,如果少于五秒,lr就不加。默认是打开的而且默认设置为3秒,如果你关闭这个选项,lr就不会自动往脚本里加思考时间了。Maximum number of lines in action file如果action里面的代码行数超过指定阈值,就生成一个新的文件(这个选项只针对C,C#和 .NET),默认关闭,如果打开默认是6000行,最小值是5000行,别问我怎么知道的。我曾经想过,这个是生成新的文件还是新的action,因为我们知道action的代码是在脚本文件夹下面的一个同名txt文件里面保存的,如果生成新的文件是不是就得有个新的action来对应呢。没法验证,这边没有条件大家自己试试吧。Track processes created as COM local servers如果一个被录制的应用的子进程被创建为COM本地服务器,那么追踪他的活动(只针对c和COM)。默认打开。这个不太懂:1不知道啥事com本地服务器;2不知道是追踪子进程还是被录制的应用。等等,如果这个应用已经被录制了,没必要特地追踪它吧,那应该追踪的是子进程。我还是吧原句写上参考吧:Track the activity of the recorded application if one of its sub-processes was created as a COM local server (C and COM only).到这里,lr里面有的设置选项我就都写上了,但是从帮助里面还有好多lr里面没有的。我也不知道怎么调出来这些选项,也不知道怎么设置也不知道是否生效估计得脚本里通过一些语句更改这些设置吧,算了,先写出来再说。很多不知道啥意思,也没法验证,大家仅供参考。 Correlate arrays跟踪和关联所有数据类型的数组,包括数字、字符串等等。默认打开。Correlate large numbers关联长数据类型例如整形、长整型、64位字符、浮点型和double型。默认是关闭的。Correlate simple strings关联简单的、非数组的字符串和短语。默认是关闭的。Correlate structures追踪和关联复杂结构。默认是打开的。Declare primitives as locals将原始值变量声明为局部变量,而不是类变量(这个选项只针对C,C#和 .NET)。默认打开的。Explicit variant declaration声明明确的变量类型来处理ByRef变量(这个选项只针对C,C#和 .NET)默认打开。Insert output parameters values每次调用后插入一个输出函数(这个选项只针对C,C#和 .NET)默认关闭。Insert post-invocation info每次消息调用后插入信息的日志消息(针对非C语言)。默认打开。原句:Insert informative logging messages after each message invocation (non-C only).Insert pre-invocation info每次消息调用后插入信息的日志消息(针对非C语言)。默认打开。原句:Insert informative logging messages before each message invocationReplace long strings with parameter把一个超过最大长度的字符串保存成一个参数,这个选项有一个初始的最大长度是100个字符。参数和完整的字符串都存放在脚本文件夹下面的lr_strings.h文件里面,通过以下格式保存:const char =string.这种方式能增加脚本可读性还不影响脚本性能。(这是lr自己写的)默认打开Use full type names使用完整的类型名称声明一个新的变量(只有c#和.NET)。默认关闭。Use helpers for arrays使用辅助函数提取变量数组组件(只针对java和VB)。默认关闭。Use helpers for objects传参时,使用辅助函数提取变量的引用。默认关闭。这个不知道对不对,原句:Use helper functions to extract object references from variants when passed as function arguments (Java and VB Scripting only).Protocols(协议们)这个应该就是选择需要使用的协议吧,咱们平时只用单协议,如果用多协议的话这里就能勾选生效的协议了。Recording(录制)这个应该是比较常用的,我还是解释下HTML advanced和URLadvanced里面的内容吧。还是那句话,个人推荐不使用html-base,不过起码得知道里面选项是怎么回事。HTML-Base advanced里面有两个大项目Script typeA script describing user actions.:生成与所采取的动作直接对应的函数,脚本将创建URL (web_url), link (web_link), image (web_image), and form submission (web_submit_form)等函数。生成的脚本非常直观,类似于上下文敏感的记录。A script containing explicit URLs only.:将记录所有的URL、link、image、form submission。但是,脚本不生成web_link,web_image, 和web_submit_form等函数。生成的脚本不那么直观,此模式对于您站点中的许多链接具有相同链接文本的实例非常有用。Non-HTML generated elementsRecord within the current script step:不会为了每个non-html资源生成新的函数,资源会当做参数放在相关函数(例如web_url等)中的EXTRARES部分。Record in separate steps and use concurrent groups.:为每个non-html资源生成一个新的函数,而不是放在相关函数的EXTRARES中。为non-html资源创建的web_url函数会放在同步组里面(就是被web_concurrent_start and web_concurrent_end包起来的部分啦)。Do not record.:压根就不录制non-html资源的部分。URL-Base advancedCreate concurrent groups for resources after their source HTML page资源会被放在同步组里面(就是被web_concurrent_start and web_concurrent_end包起来的部分啦)放在被请求的URL后面。资源包括文件、图片、js脚本,如果禁用这个选项,资源就不会被web_concurrent_start and web_concurrent_end包起来。Use web_custom_request only将所有http请求作为自定义请求。将使用web_custom_request函数记录所有请求,不管其内容如何。推荐对非浏览器应用使用此选项(应该是针对那些使用http与后台交互的客户端软件)。Data Format Extension(数据格式扩展)Configuration(配置)Enable啥的我就不说了。说下面的Code GenerationFormat code and snapshots.:在代码和快照上面使用数据格式扩展。Format snapshots only.只在快照上面使用数据格式扩展。(没法验证,大家可以试试,是不是启用这个选项快照上面的乱码就没了)Verify Formatted Data将格式化数据转换回原始状态并验证它与原始数据匹配,检查格式化数据的结果。注意:此选项不适用于所有扩展。目前可用于Base64扩展。Header chain(不会翻译)后面几个与这个相同上面的不会翻译,应该是针对报文头的数据扩展吧。这里是个表格,添加、删除、上移下移按钮我就不多说了,当你添加了项目之后有个true/false选项这个是决定数据扩展的内容是否继续传递的。接下来说说这几个格式内容吧:base64、URL encoding、JSON、XMLBase64我上网查了就是类似于aGVsbG8gd29ybGQgaSBhbSBlZ2c=这种,标志就是后面有等于号,相信见多了总会见过这种的。URL encoding就更简单了:其最简单的特征就是“%XX”这种格式当你看到百分号后面跟着的两个字符的应该都是通过URL encoding转码后的内容比如汉字“啊”转码后就是“%e5%95%8a”,另外,英文字符和数字不会被转码JSON是有各种大括号中括号双引号包起来的内容比如说这个:name:Tom,age:18,hobby:basketballXml应该是各种这种的比如说这个: 冰与火之歌 乔治马丁 2014 89 安徒生童话 2004 77 English 相信大家肯定在脚本或者tree视图请求返回的数据中见过这些类型的格式。如果没见过,记住这些格式的特征,对于以后分析页面返回值很有帮助。这里再说一个吧Unicode:万国统一码全世界所有字符都可以转换成这种码,类似这种的“u0020u554a”这个就是unicode码以上说的编码格式除了json、xml以外网上都有在线转码的网站,然后如果你看着json、xml台乱看不懂网上也有json、xml格式化的网站,能够把一堆乱乱的东西整理成清晰的内容那么这个选项又是干啥的呢,刚才上网查了下,这个主要是用来进行数据格式转换的,前面不是有设置生效范围么比如我们选择了快照,那么快照里面的内容就会被转换为指定的格式,这里外网不太方便,不好验证。不过,为了我们关联脚本运行准确,这个选项真的没有啥用。Network(网络)Port Mapping(配置)这个主要是用来配置代理的,恩在我的如何使用loadrunner代理录制手机app里面有写,请看那个文档,不多赘述了HTTP Properties(HTTP性能)advanced(高级)Reset context for each action重置action之间的上下文,重置上下文之后允许虚拟用户更准确的模拟一个新用户开始会话。重置上下文之后也能让一些弱上下文关联的函数(原文:context-less function)能够在新的action开始的时候被录制下来。这个选项还会重置用户名密码。这个选项只适用于WEB和Oracle NCA协议(好吧原文是这样的:Resets all HTTP contexts between actions. Resetting contexts allows the Vuser to more accurately emulate a new user beginning a browsing session. This option resets the HTML context, so that a context-less function is always recorded in the beginning of the action. It also clears the cache and resets the user names and passwords.This option is only available for Wireless Protocols scripts.)Save snapshot resources locally在本地保存一个录制和回放的快照副本,以便于更快的查看快照。Generate web_reg_find functions for page titles生成一个web_reg_find函数为每个HTML页面标题.页面标题将会作为web_reg_fing搜索参数它还有个子选项Generate web_reg_find functions for sub-frames这个就是为每一个页面子帧生成一个以页面标题为搜索内容的web_reg_find函数。好了是不是想问页面子帧是啥?以下来自百度知道:HTML 窗口分帧技术是将浏览器窗口分隔成多个独立的窗口,每一个窗口都可以显示一个独立的网页文件,这些窗口称为帧,每个帧拥有自己的URL。Generally, 分帧操作比较适用于后台,用于前台的话(除iframe)不利于搜索引擎的搜索。Add comment to script for HTTP errors while recording为录制过程中的HTTP错误请求生成脚本注释。什么样的错误请求呢,服务器返回http 400或者更严重的错误信息的请求。Record script using earlier recording engine使用单协议记录引擎。默认情况下,在录制web(HTTP/HTML)协议时,就算你只录制单协议的脚本,LR也会采用多协议引擎。另外,如果你发现点击录制之后弹出的对话框变得异常简单如下图,也是这个选项出的问题勾掉就好了recording schemesheader(头)这个大体解释下吧,我们都知道HTTP报文里面分2个部分 header和body,一般来说LR生成的脚本里面都只会包含标准报文的部分,很多不会生成到脚本里面,但是如果脚本有用怎么办呢。我们就需要通过web_add_header加到脚本里面。这里的header选项就是做这个的。点击header以后发现一个小窗口里面有个具体类型的列表,然后上面有包含,不包含,列表里面不录制几个选项,大家看看应该都能看懂,比如我们选择包含,然后在列表中勾选对应的类型,那么原来脚本里面没有的这个类型的话就会通过web_add_header加到脚本里面。Content type、non-resource这两个至于后面的两个content type、non-resource,是可以过滤脚本内容的,在请求里面都会有content type、non-resource两个属性,可以通过这两个属性过滤是否将请求录制到脚本中。先说content-type是啥Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定文件接收方将以什么形式、什么编码读取这个文件,这就是经常看到一些Asp网页点击的结果却是下载到的一个文件或一张图片的原因。点击这个按钮会弹出一个对话框,具体和header一样,有将列表中的类型排除出脚本,有将列表中的类型记录到脚本。通过选择可以过滤对应类型的请求。Non-resource这里在说之前得先说一下resource,我们都知道网页中存在图片啊,视频这种内容,跟我们业务的请求没有太大关系只是为了页面美观,这些叫non-html resource,LR里面有个设置,可以不下载这些内容,这里我们可以指定什么类型的内容是resource什么不是,如果指定了以后,这种类型就一定会被下载。non-resource点击之后,包含一个列表,可以通过添加、删除的方式指定什么类型是resource,至于添加删除的内容也是网页类型,与上面content type是一样的。另外,无论header、content type、还是non resource的列表都是可以添加删除的。correlation(关联)这里是loadrunner自动关联的内容,左边的框里面是loadrunner给我总结出来的一些规则列表,应该是开发方根据经验总结出来的一些可能需要关联的内容,点击详细的选项右边框里就会有详细内容包括取值位置,左值右值等。然后下面通过按钮可以向左边列表中添加自定义的一些自动关联的内容,如果你通过经验有自己总结出来的关联规则可以加进来。Run-time settingGeneralRun Logic(逻辑)这个按说不应该我来多嘴了。不过,发现了一些有意思的用法,我还是写一下吧。比如说这个图,我可以在init里面加上end,action的内容这样在init过程的的时候就能把action脚本也运行1遍了。额,还是唠叨一句吧,上面init,action,end三个过程是脚本运行的三个阶段,里面的vuser_init这个就是你脚本里面的部分,这个区别还请分清楚。这里只是稍微提一下,因为这种设置应该能够让脚本运行起来更灵活。其他的大家应该很熟悉了,我就不多提了。Pacing(启动设置)这个选项允许你控制两次迭代之间的时间,这个选项能够告诉LR在运行action的时候你的两次迭代之间需要等待多长时间这里有3个选项As soon as the previous iteration ends:不用说了,一次迭代完马上开始下一次After the previous iteration ends:在前一次迭代结束后等待一个确定的或者是随机的时间开始下一次迭代,这个时间你可以自己设置(确定的时间就是一个时间,随机时间需要设置上限或者下限)At.:这个就是上一个迭代开始之后等待多长时间开始下一个迭代,也是有确定时间和随机时间,需要注意的是,上一次迭代没结束的话下一个就不会开始。我的理解是如果上一次迭代能够在设定的时间内结束,那么就等到你设定时间完之后再开始下一次迭代,如果设定时间到了还没完,那么就等到上一次完了再开始。刚才去实验了下,我推测的没错。Log(日志设置)这个我就不多扯了吧,稍微提一下Extended Log下面的3个选项吧:Parameter substitution记录分配给脚本的所有参数以及参数值这个我们在关联和参数化的时候用的多现在知道为啥了吧,另外,输出函数的内容应该也算参数的一种吧反正跟函数有关系的都算参数。Data returned by server.记录服务器返回所有的数据。这个我试过了,你的log里面会有很多很多的东西,因为lr把所有的tree视图里的response部分的内容都写进去了Advanced trace.记录在会话过程中lr发送的所有函数和信息。好吧,这个就是把tree视图里面request内容都写进log里面了这两个不多说了,没卵用。Think-time(思考时间设置)这个用的也比较多了,我就不多扯了,就说一个:Limit think time to这个可以看到其他的都是圆点的互斥选项,这个是打钩的,也就是说无论上面选哪个这个都能选。这个是啥意思呢,就是无论上面你选了哪个,这个选项你一旦勾选然后设置为5秒,那么就强制设置了一个上限时间,低于5秒的都没事,但是高于5秒的都按5秒算。Additional Attributes(附加属性设置)官方说法:你可以使用该设置为一个脚本添加额外的参数。该设置能够对所有类型的脚本生效。好吧我上网查了,这个就是你自己编辑个常量,然后可以用lr_get_attrib_string这个函数把常量值输出出来。我去查了,这个函数只能输出字符型。也就是说,你设置的常量应该也是字符型,如果你想把常量当做数字来用估计只能用atoi()函数了。这里不详细说了,看代码吧NetworkSpeed Simulation(速度模拟设置)Use maximum bandwidthLR使用能用的最大带宽。默认开启Use bandwidth后面有个下拉菜单,你可以通过菜单选择来决定带宽限制。Use custom bandwidth后面有个框你可以输入指定的带宽,框里面数字的单位是bit。Internet protocol(互联网协议)proxy(代理设置)Obtain the proxy settings from the default browser所有的Vuser使用本地默认服务器中的代理设置Use custom proxy所有用户使用自定义代理服务器。您可以提供实际代理服务器的详细信息,或者提供自动配置的代理自动配置脚本(PAC文件)的路径。这个应该需要的时候根据情况用吧。另外下面有个按钮authentication,只要没选择no-proxy这里就可以用,是输入用户名密码的,应该是代理用户登录时用的。preference(偏好设置设置)Checks允许用户执行脚本时运行web_find或者web_image_check语句。此选项只适用于html-base模式录制的语句。执行验证的时候比不执行验证多耗费内存。系统默认关闭的。这里注意只能html-base模式的脚本能用,然后这里用的是web_find不是web_reg_find咱们平时用url-base所以这个选项没卵用别勾Generate Web Performance Graphs这个跟结果数据有关,测试完不是有个结果还有图表么,选择了相应的选项之后就可以在结果中生成对应的图表。选项我就不解释了,大家都能看懂。AdvancedWinlnet replay instead of socket:让lr使用winlnet播放引擎,而不是标准socket引擎。Lr有两种引擎socket标准引擎和winlnet引擎,winlnet引擎基于ie所以ie的大部分功能都被纳入其中了。但是winlnet不支持unix另外在线程工作的模式下winlnet引擎不能准确的模拟猫的速度和连接数。Lr的专有socket-base引擎是轻量化的可扩展的负载测试引擎,但是这个引擎的限制就是不能支持socket代理。如果你录制的时候使用socket代理录制的那就选winlnet吧。总之就是平时不要选,如果运行的时候页面上有socket导致脚本运行出错的时候检查下这个选项勾选上说不定有用。Non-critical item error as warning:把一些不影响测试进行的内容视为warning而不是error,比如图片或者java小程序下载失败。剩下两个我就不说了。大家一看就懂这里还有个option的选项,里面东西太多。我有空单独写。Download filter(下载过滤器)可以看到下面有个表格,你可以往表格里面添加或者删除内容里面,然后类型有url、host、host suffix三种,上面两个选项一个是只访问列表里面的内容,另一个是不访问列表里面的内容,这个不知道怎么实验,估计url就是单个url收到影响,host就是比如你host是:11那么从这个ip出发的所有内容都会被过滤。我猜的。contentcheck(内容检查)有点像前面说的自动关联设置,可以设置大类(application),大类下面有个小类(rule)在小类里面就能看到search for text或者search for prefix and suffix还有fail if=found/not found,是不是很眼熟,这里应该跟web_reg_find一样,只不过是你自定义的不过这么一来他没有确定是检查哪里的内容,所以我猜这里应该是每个请求都检查,没法验证不过。估计我们用不到。至于剩下的哪个数据扩展,官方也没有给说明,参照录制option的相关内容吧,等我有外网或者将来有空找个时间单独研究下Tools菜单General optionparameterizationParameter bra

温馨提示

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

评论

0/150

提交评论