LoadRunner 参数化的功能详解.doc_第1页
LoadRunner 参数化的功能详解.doc_第2页
LoadRunner 参数化的功能详解.doc_第3页
LoadRunner 参数化的功能详解.doc_第4页
LoadRunner 参数化的功能详解.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

LoadRunner 参数化的功能详解参数化的定义:使用指定的数据源中的值来替换脚本录制生成的语句中的参数。 对Vuser脚本进行参数化的好处:1、减小脚本的大小2、提供了使用不同的脚本的值执行脚本的能力参数化涉及两个任务:1、用参数替换Vuser脚本的常量值2、为参数设置属性和数据源“Select next row”定义的是如何选择下一行数据。该处有三个选项Sequential,Random,Unique,Sequential:顺序地向Vuser分配数据。Random:当测试开始运行时,“随机”方法为每个Vuser分配一个数据表中的随机值。Unique:为每一个Vuser的参数分配一个唯一的顺序值。在这种情况下必须确保表中的数据对所有的Vuser和它们的迭代来说是充足的。如果拥有20个Vuser并且要进行5次迭代,则测试者的表格中必须至少包含100个数值。“Update value on”定义的是什么时候更新数据值,备选项有每次迭代,每次出现和一次。表 LoadRunner参数更新方法和数据分配更新方法数据分配方法顺序随机唯一每次迭代对于每次迭代Vuser会从数据表中提取下一个值。对于每次迭代,Vuser会从数据表中提取新的随机值。对于每次迭代,Vuser会从数据表中提取下一个唯一值。每次出现(仅数据文件)参数每次出现时,Vuser将从数据表中提取下一个值,即使在同一次迭代中。参数每次出现时,Vuser将从数据表中提取新的随机值,即使在同一迭代中。参数每次出现时,Vuser将从数据表中提取新的唯一值,即使在同一迭代中。一次对于每一个Vuser,第一次迭代中分配的值将用于所有的后续迭代第一次迭代中分配的随机值将用于该Vuser的所有迭代第一次迭代中分配的唯一值将用于该Vuser的所有后续迭代如果LoadRunner的函数中某个参数不能直接使用LoadRunner参数,那么可以通过lr_eval_string进行转换取到参数的值。参数表中select next row和update value on的设置LR的参数的取值,和select next row和update value on的设置都有密不可分的关系。 下表给出了select next row和update value on不同的设置,对于LR的参数取值的结果将不同,给出了详细的描述。Select next rowUpdate Value on实际运行结果sequentialeach iteration在某次循环中所有用户取值相同。所有用户第一次循环取第一行值,第二次循环取第二行值each occurrence在某次循环中或者脚本中使用参数的地方,所有用户取值相同。脚本中出现要使用参数的话,参数值就更新一次,循环一次值再更新一次。once在所有的循环中所有用户取值相同。所有的用户所有的循环中,只用一个值(即参数中的第一行值)randomeach iteration不同的用户,在不同的循环次数中,随机取值each occurrence不同的用户,脚本中出现要使用参数的话,随机取值一次,循环一次再随机取值一次once不同的用户,不管循环多少次,只随机取值一次。uniqueeach iteration若选择手工自配参数,那LR按照每用户几个参数先分配参数,然后进行循环。 若选择自动分配参数:Controller中edit schedule中run until comletion:按照循环次数先分配第一个VU(例如设置的循环次数为3,那分配给第一个VU 3个参数值),然后接下来的3个参数值分配给第二个VU,依次类推.Controller中edit schedule中run for:若选择自动分配,LR将按照用户数均分参数,剩余的参数不使用。each occurrence只能手工分配用户,给每个用户分配好X个参数后,在脚本中有参数的地方,就使用已经分配好的X个参数。once按照用户数分配给每个用户分配一个参数而已。以后的循环这个用户就使用这一个参数Loadrunner中参数的设置转载自51CMM做负载或者压力测试时,很多人选择使用了Loadrunner测试工具。该工具的基本流程是先将用户的实际操作录制成脚本,然后产生数千个虚拟用户运行脚本(虚拟用户可以分布在局域网中不同的PC机上),最后生成相关的报告以及分析图。但是在录制脚本的过程中会遇到很多实际的问题,比如不同的用户有不同的使用数据,这就牵涉到参数的设置问题。本文就Loadrunner中参数的设置进行说明,希望对大家有所帮助。在录制程序运行的过程中,VuGen(脚本生成器) 自动生成了包含录制过程中实际用到的数值的脚本。如果你企图在录制的脚本中使用不同的数值执行脚本的活动(如查询、提交等等),那么你必须用参数值取代录制的数值。这个过程称为参数化脚本。本文主要包括如下内容:理解参数的局限性、建立参数、定义参数的属性、理解参数的类型、为局部数据类型设置参数的属性、为数据文件设置参数的属性、从已经存在的数据库中引入数据。除了GUI,以下的内容适合于各种类型的用户脚本。一、关于参数的定义在你录制程序运行的过程中,脚本生成器自动生成由函数组成的用户脚本。函数中参数的值就是在录制过程中输入的实际值。例如,你录制了一个Web应用程序的脚本。脚本生成器生成了一个声明,该声明搜索名称为“UNIX”的图书的数据库。当你用多个虚拟用户和迭代回放脚本时,也许你不想重复使用相同的值“UNIX”。那么,你就可以用参数来取代这个常量。结果就是你可以用指定的数据源的数值来取代参数值。数据源可以是一个文件,也可以是内部产生的变量。用参数表示用户的脚本有两个优点: 可以使脚本的长度变短。 可以使用不同的数值来测试你的脚本。例如,如果你企图搜索不同名称的图书,你仅仅需要写提交函数一次。在回放的过程中,你可以使用不同的参数值,而不只搜索一个特定名称的值。参数化包含以下两项任务: 在脚本中用参数取代常量值。 设置参数的属性以及数据源。参数化仅可以用于一个函数中的参量。你不能用参数表示非函数参数的字符串。另外,不是所有的函数都可以参数化的。二、参数的创建可以指定名称和类型来创建参数。不存在对脚本中参数个数的限制。在Web程序的用户脚本中,你可以使用如下过程在基于文本的脚本视图中创建参数。或者,也可以在基于图标的树形视图中创建参数。在基于文本的脚本视图中创建一个参数:1、 将光标定位在要参数化的字符上,点击右键。打开弹出菜单。2、 在弹出菜单中,选择“Replace with a Parameter”。选择或者创建参数的对话框弹出。3、 在“Parameter name”中输入参数的名称,或者选择一个在参数列表中已经存在的参数。4、 在“Parameter type”下拉列表中选择参数类型。5、 点击“OK”,关闭该对话框。脚本生成器便会用参数中的值来取代脚本中被参数化的字符,参数用一对“”括住。注意:在参数化CORBA或者General-Java 用户脚本的时候,必须参数化整个字符串,而不是其中的部分。另外注意:除了Web或者WAP,缺省的参数括号对于任何脚本都是 “”。你可以在“General Options”对话框中的“Parameterization”标签(ToolsGeneral Options)中定义参数括号种类。6、 用同样的参数替换字符的其余情况,选中参数,点击右键,弹出菜单。从弹出的菜单中,选择“Replace More Occurrences”。搜索和替换对话框弹出。“Find What”中显示了你企图替换的值。“Replace With”中显示了括号中参数的名称。选择适当的检验框来匹配整个字符或者大小写。如果要搜索规则的表达式(.,!,?等等),选中“Regular Expression”检验框,然后点击“Replace”或者“Replace All”。注意:小心使用“Replace All”,尤其替换数字字符串的时候。脚本生成器将会替换字符出现的所有情况。7、 如果想用以前定义过的参数来替换常量字符串的话,选中该字符串,点击右键,然后选择“Use Existing Parameter”,子菜单“Use Existing Parameters”弹出。从子菜单“Use Existing Parameters”选择参数,或者用“Select from Parameter List”来打开参数列表对话框。注意:如果用以前定义过的参数来替换常量字符串的话,那么,使用“Parameter List”非常方便。同时,还可以查看和修改该参数的属性。8、 对于已经用参数替换过的地方,如果想取回原来的值,那么,就在参数上点击右键,然后选择“Restore Original value”。在Web用户脚本的树形视图中创建参数: 1、将光标定位在企图参数化的地方,点击右键,从弹出的菜单中选择“Properties”。则相关的属性对话框打开。2、点击在要参数化的参量的旁边的“ABC”形状的图标。“Select or Create Parameter”对话框打开。3、在“Parameter name”中输入参数的名称,或者从列表中选择一个已经存在的参数。4、在“Parameter type”中输入参数的类型。5、点击“OK”关闭该对话框。用户脚本生成器会用参数来替换最初的字符串常量,并用一个表格形状的图标替换“ABC”形状的图标。6、要恢复参数化以前的值,点击图标,然后从弹出的菜单中选择“Undo Parameter”,则以前的值便会重现。三、定义参数的属性创建参数完成后,就可以定义其属性了。参数的属性定义就是定义在脚本执行过程中,参数使用的数据源。在Web用户脚本中,你既可以在基于文本的脚本视图中定义参数属性,也可以在基于图标的树形视图中定义参数属性。下面的过程将教你如何在基于本文的脚本视图中定义参数属性。在基于文本的脚本视图中定义参数属性步骤:1、 在参数上点击右键,有菜单弹出。2、 在弹出的菜单中,选择“Parameter Properties”。参数属性对话框打开,显示和当前参数类型相关的属性。3、 输入参数的属性值。4、 点击“Close”关闭参数属性对话框。在Web用户脚本的树形视图中定义参数的属性:1、 将关标定位在参数上,然后点击右键,选择“Properties”。属性对话框打开。2、 点击要定义属性的参数旁边的表格形状按钮,点击右键,选择“Parameter Properties”。参数属性对话框打开,和参数类型相关的属性显示出来。3、 输入参数的属性。4、 点击“Close”关闭参数属性对话框。使用参数列表:使用参数列表可以在任意时刻查看所有的参数,创建新的参数、删除参数,或者修改已经存在参数的属性。1、 点击参数列表按钮或者用“VuserParameter List”。参数列表对话框打开。2、 要创建新的参数,点击“New”按钮。新的参数则被添加在参数树中,该参数有一个临时的名字,你可以给它重新命名,然后回车。设置参数的类型和属性,点击“OK”,关闭参数列表对话框。注意:不要将一个参数命名为“unique”,因为这个名称是用户脚本生成器本身的。用户脚本生成器创建新的参数,但是不会自动用该参数在脚本中替换任意选中的字符串。3、 要删除已有的参数,那么,要先从参数树中选择该参数,点击“Delete”,然后确认你的行为即可。4、 要修改已有参数,那么,要先从参数树中选择该参数,然后编辑参数的类型和属性。LoadRunner参数化功能详解更新方式:.Each Occurrence每次遇到参数就进行更新。多次使用同一参数,而且没有什么关联,例如随机数。Each Iteration每次迭代时发生更新。 如果参数出现几次,虚拟用户用同一个数值。适用同一个关联的参数。Once所有的地方都用同一个数值,包括所以的迭代。文件类型参数分派方法Sequential按照顺序访问。更新方式Sequential例子1.Each Iteration所有用户每次迭代同时取下一个数值。All the Vusers use Kim in the first iteration, David in the second iteration, Michael inthe third iteration, etc.2.Each Occurrence所有用户每次遇到同时取下一个数值,即使在同一个迭代。All the Vusers use Kim in the first occurrence, David in the second occurrence,Michael in the third occurrence, etc.3.Once所有用户第一次迭代时同时取第一个值,该用户所有的子迭代值不变。If you specified Once, all Vusers take Kim for all iterations.例子:First NameKimDavidMichaelJaneRonAliceKenJulie没有足够的值,从第一行开始重新取值。Random:每个虚拟用户开始运行时安排随机的数值。更新方式Random1.Each Iteration每次迭代时,随机从数据表中取数。2.Each Occurrence每次遇到随机取一个数值,即使在同一个迭代。3.Once第一次迭代时随机取值,改用户所有的子迭代值不变。UniqueThe Unique method assigns a unique sequential value to

温馨提示

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

评论

0/150

提交评论