Loadrunner对ORACLE进行参数化

合集下载

loadrunner监控oracle数据库word精品文档3页

loadrunner监控oracle数据库word精品文档3页

如何在LoadRunner中监控Oracle数据库1、使用LR自带的监控引擎在LR的controller上安装oracle客户端:这一步就不用说了,安装直接Setup,安装就OK了。

1)安装完后,先配置一下Net Configuration Assistant。

记住配置的服务名。

配置成功会显示:正在连接...测试成功。

2)用sqlplus连接一下,看是否可以连接成功,打开sqlplus输入oracle用户名密码和主机字符串。

查看是否登录成功。

添加oracle计数器:3)登录成功后,打开LR的controller.,在可用图中选择oracle,点击add measurements,再点击Advanced,如下所示:这里我们用LR native monitors。

4)在Monitored Server Machines区域,添加oracle服务器href="http://server.it168/" target=_blank>服务器所在的IP。

5)再在Resource Measurements on:IP区域点击添加,弹出对话框如下:6)输入相应的信息,这里的orcl就是前面在Net Configuration Assistant配置的服务名。

7)点击OK,这里我们应该可以看到可以添加oracle的计数器了,如下所示:2、使用Sitescope引擎不需要配置Net Configuration Assistant。

1)在第一个图choose monitor engine中选择sitescope,然后在在Monitored Server Machines区域点击Add如下所示:在这里可以选择本地或者其他机器的sitescope,如果sitescope启用了account的验证,也要写上相应的用户名密码。

2)在Resource Measurements on:IP区域点击添加,弹出对话框如下:3)输入信息如图。

loadrunner 参数化 路径

loadrunner 参数化 路径

loadrunner 参数化路径LoadRunner 参数化是一种常用的性能测试技术,可以有效地模拟真实世界的负载情况,实现测试数据的灵活性和可重复性。

在LoadRunner中,参数化路径是指在测试过程中将路径作为参数进行动态调整,以模拟不同用户访问不同路径的情况。

为了更好地理解LoadRunner参数化路径的使用,我们首先需要了解LoadRunner的基本原理。

LoadRunner是一款用于模拟和分析应用程序性能的测试工具,通过模拟用户的行为和生成负载来评估系统的性能。

在性能测试中,经常需要模拟大量用户同时访问不同路径的情况,以验证系统的承载能力和响应时间。

在LoadRunner中,参数化路径可以通过多种方式实现,常用的有使用数据文件、使用函数和使用正则表达式等。

下面将分别介绍这几种参数化路径的方法。

使用数据文件进行参数化路径是最常见的方法之一。

通过将路径保存在一个数据文件中,LoadRunner可以在每次执行测试时,自动从数据文件中读取不同的路径,并进行相应的访问。

这种方法适用于需要模拟大量用户访问不同路径的情况,可以有效地减少测试脚本的维护工作。

使用函数进行参数化路径是另一种常见的方法。

LoadRunner提供了一系列内置函数,可以在测试脚本中使用这些函数生成不同的路径。

例如,可以使用lr_paramarr_random函数从一个路径数组中随机选择一个路径进行访问,或者使用lr_paramarr_idx函数按照一定的顺序选择路径进行访问。

这种方法适用于需要按照一定的规则生成路径的情况,可以灵活地控制路径的生成方式。

使用正则表达式进行参数化路径是一种更为灵活的方法。

LoadRunner提供了lr_eval_string函数,可以在测试脚本中使用正则表达式从一个字符串中提取出符合某种规则的路径。

例如,可以使用正则表达式从一个HTML页面中提取出所有的链接,并将这些链接作为路径进行访问。

这种方法适用于需要从复杂的页面中提取路径的情况,可以实现更加精细的参数化路径。

详细分析LoadRunner参数化

详细分析LoadRunner参数化

详细分析LoadRunner参数化在进⾏⽹页的性能测试时,对⽹页的登录界⾯进⾏压⼒测试情况下就会使⽤到多⽤户进⾏登录,就需要对登录名和密码进⾏参数化,那么loadrunner 怎么参数化设置呢?下⾯我们来详细分析⼀下。

⼀、我们这⾥通过loadurnner录制⼀个软件⾃带的航空⽹站登陆。

下⾯是截取的登录代码⼆、下⾯通过loadrunner对⽤户名和密码进⾏参数化设置。

1、双击jojo,右击选择Replace with a Parameter,弹出窗⼝Select or Create Parameter,在 Parameter name处输⼊变量名name,点击OK,密码重复名字的操作。

2、把⽤户名jojo改成变量name,密码bean改成变量psw三、下⾯对参数进⾏编辑添加。

第⼀种⽅法是直接在界⾯上添加编辑。

1、点击P图标或者按键盘ctrl +L 进⼊参数化设置界⾯,2、点击name进⾏编辑变量参数,点击Edit with Notepad,弹出记事本框,输⼊好⽤户名后,保存后,参数就设置完成了。

密码也是重复名字的操作。

3、也可以在界⾯上直接编辑,添加⾏、列或者删除⾏、列4、参数都添加后之后,我们要注意每个参数对应的名称5、也可以把所有的参数编辑在⼀个⽂件⾥⾯,⼀列对应⼀个参数。

6、当参数放在在⼀个⽂件⾥⾯时,设置处就要⼀⼀对应。

四、第2种⽅法对参数进⾏编辑添加,就是直接导⼊已编辑好了的数据。

1、在⽂件处选择已经编辑好的数据⽂件位置,点击打开后,⽂件111.dat的数据就⾃动导⼊进来了。

五、设置好参数后,就可以设置数据取值⽅式与更新⽅法。

1、Select next row: 选择下⼀⾏⽅法Sequential默认顺序的,按照参数化的数据顺序,从上往下⼀个⼀个的来取。

Random随机取,参数化中的数据,每次随机的从中抽取数据。

Unique唯⼀,唯⼀的向下取值,只能被⽤⼀次。

Same line as xxx,和xxx列取同⼀⾏的值,(⾏相同)步调⼀致例如:数据a b c d e f g ...,现有3个⽤户(甲⼄丙)取值;循环2次。

如何对Loadrunner脚本进行参数化

如何对Loadrunner脚本进行参数化

如何对脚本进行参数化在录制程序运行地过程中,脚本生成器自动生成由函数组成地用户脚本.函数中参数地值就是在录制过程中输入地实际值.参数化是编辑脚本最重要地一部分之一.对用户脚本进行参数化有两大优点:.可以减少脚本地大小和脚本数量,借助参数化我们可以减少脚本地数量,如果不进行参数化我们为了达到目标可能要拷贝并修改很多个脚本..可以使用不同地数值来测试你地脚本,使业务更接近真实地客户业务,每个虚拟用户使用不同参数值来模拟这样才接近客户地实际情况.如何进行参数化:参数化包含以下两项任务:.参数地创建,即在脚本中用参数取代常量值..定义参数地属性以及设置其数据源.值得注意地是,参数化仅可以用于一个函数中地参量.不能用参数表示非函数参数地字符串.另外,不是所有地函数都可以参数化地.一、参数地创建创建参数可以指定名称和类型来创建.不存在对脚本中参数个数地限制.在程序地用户脚本中,你可以使用如下过程在基于文本地脚本视图中创建参数.或者,也可以在基于图标地树形视图中创建参数.通过以下步骤在基于文本地脚本视图中创建一个参数:、将光标定位在要参数化地字符上,点击右键.打开弹出菜单.、在弹出菜单中,选择" ".选择或者创建参数地对话框弹出.、在" "中输入参数地名称,或者选择一个在参数列表中已经存在地参数.、在" "下拉列表中选择参数类型.、点击"",关闭该对话框.脚本生成器便会用参数中地值来取代脚本中被参数化地字符,参数用一对"<>"括住.注意:在参数化或者用户脚本地时候,必须参数化整个字符串,而不是其中地部分.另外注意:除了或者,缺省地参数括号对于任何脚本都是"<>".你可以在" "对话框中地""标签(> )中定义参数括号种类.、用同样地参数替换字符地其余情况,选中参数,点击右键,弹出菜单.从弹出地菜单中,选择" ".搜索和替换对话框弹出." "中显示了你企图替换地值." "中显示了括号中参数地名称.选择适当地检验框来匹配整个字符或者大小写.如果要搜索规则地表达式(.,!,?等等),选中" "检验框,然后点击""或者" ".注意:小心使用" ",尤其替换数字字符串地时候.脚本生成器将会替换字符出现地所有情况.、如果想用以前定义过地参数来替换常量字符串地话,选中该字符串,点击右键,然后选择" ",子菜单" "弹出.从子菜单" "选择参数,或者用" "来打开参数列表对话框.注意:如果用以前定义过地参数来替换常量字符串地话,那么,使用" "非常方便.同时,还可以查看和修改该参数地属性.、对于已经用参数替换过地地方,如果想取回原来地值,那么,就在参数上点击右键,然后选择" ".通过以下步骤在用户脚本地树形视图中创建参数:、将光标定位在企图参数化地地方,点击右键,从弹出地菜单中选择"".则相关地属性对话框打开.、点击在要参数化地参量地旁边地""形状地图标." "对话框打开.、在" "中输入参数地名称,或者从列表中选择一个已经存在地参数.、在" "中输入参数地类型.、点击""关闭该对话框.用户脚本生成器会用参数来替换最初地字符串常量,并用一个表格形状地图标替换""形状地图标.、要恢复参数化以前地值,点击图标,然后从弹出地菜单中选择"",则以前地值便会重现.二、定义参数地属性创建参数完成后,就可以定义其属性了.参数地属性定义就是定义在脚本执行过程中,参数使用地数据源.在用户脚本中,你既可以在基于文本地脚本视图中定义参数属性,也可以在基于图标地树形视图中定义参数属性.下面地过程将教你如何在基于本文地脚本视图中定义参数属性.在基于文本地脚本视图中定义参数属性步骤:、在参数上点击右键,有菜单弹出.、在弹出地菜单中,选择" ".参数属性对话框打开,显示和当前参数类型相关地属性.、输入参数地属性值.、点击""关闭参数属性对话框.在用户脚本地树形视图中定义参数地属性:、将关标定位在参数上,然后点击右键,选择"".属性对话框打开.、点击要定义属性地参数旁边地表格形状按钮,点击右键,选择"".参数属性对话框打开,和参数类型相关地属性显示出来.、输入参数地属性.、点击""关闭参数属性对话框.使用参数列表:使用参数列表可以在任意时刻查看所有地参数,创建新地参数、删除参数,或者修改已经存在参数地属性.、点击参数列表按钮或者用"> ".参数列表对话框打开.、要创建新地参数,点击""按钮.新地参数则被添加在参数树中,该参数有一个临时地名字,你可以给它重新命名,然后回车.设置参数地类型和属性,点击"",关闭参数列表对话框.注意:不要将一个参数命名为"",因为这个名称是用户脚本生成器本身地.用户脚本生成器创建新地参数,但是不会自动用该参数在脚本中替换任意选中地字符串.、要删除已有地参数,那么,要先从参数树中选择该参数,点击"",然后确认你地行为即可.、要修改已有参数,那么,要先从参数树中选择该参数,然后编辑参数地类型和属性.三、理解参数地类型在你定义参数属性地时候,要指定参数值地数据源.你可以指定下列数据源类型地任何一种:―― 虚拟用户内部产生地数据.――存在于文件中地数据.可能是已存在地文件或者是用脚本生成器新创建地.―― 调用外部函数生成地数据包括以下几种:、用当前地日期时间替换参数.要指定一个格式,你可以从菜单列表中选择格式,或者指定你自己地格式.这个格式应该和你脚本中录制地格式保持一致、用虚拟用户组名称替换参数.在创建地时候,你可以指定虚拟用户组地名称.当从用户脚本生成器运行脚本地时候,虚拟用户组名称总是.、用脚本负载生成器地名称替换参数.负载生成器是虚拟用户在运行地计算机.、用当前地迭代数目替换参数.、用一个随机数替换参数.通过指定最大值和最小值来设置随机数地范围.、用一个唯一地数字来替换参数.你可以指定一个起始数字和一个块地大小.、用分配给虚拟用户地替换参数,是由地控制器在运行时生成地.如果你从脚本生成器运行脚本地话,虚拟用户地总是.四、数据文件数据文件包含着脚本执行过程中虚拟用户访问地数据.局部和全局文件中都可以存储数据.可以指定现有地文件、用脚本生成器创建一个新地文件或者引入一个数据库.在参数有很多已知值地时候数据文件非常有用.数据文件中地数据是以表地形式存储地.一个文件中可以包含很多参数值.每一列包含一个参数地数据.列之间用分隔符隔开,比如说,用逗号.对数据文件设置参数属性如果使用文件作为参数地数据源,必须指定以下内容:文件地名称和位置、包含数据地列、文件格式,包括列地分隔符、更新方法.如果参数地类型是"",打开参数属性()对话框,设置文件属性如下:、在" "中输入文件地位置,或者点击""指定一个已有文件地位置.缺省情况下,所有新地数据文件名都是"",注意,已有地数据文件地后缀必须是.、点击"".记事本打开,里面第一行是参数地名称,第二行是参数地初始值.使用诸如逗号之类地分隔符将列隔开.对于每一新地表行开始一行新地数据.注意:在没有启动记事本地情况下如果想添加列,就在参数属性对话框中点击" ",那么" "对话框就会弹出.输入新列地名称,点击"".脚本生成器就会添加该列到表中,并显示该列地初始值.、在" "部分,指明包含当前参数数据地列.你可以指定列名或者列号.列号是包含你所需要数据地列地索引.列名显示在每列地第一行().、在" "中输入列分隔符,你可以指定逗号、空格符等等.、在" "中,在脚本执行地时候选择第一行数据使用.列标题是第行.若从列标题后面地第一行开始地话,那就在" "中输入.如果没有列标题,就输入.、在" "中输入更新方法,以说明虚拟用户在脚本执行地过程中如何选择表中地数据.方法可以是:连续地、随机地、唯一地、或者与其它参数表地相同行.、顺序():该方法顺序地给虚拟用户分配参数值.如果正在运行地虚拟用户访问数据表地时候,它会取到下一行中可用地数据.、随机():该方法在每次迭代地时候会从数据表中取随机数、使用种子取随机顺序():如果从地控制器来运行,你可以指定一个种子数值用于随机顺序.每一个种子数值在测试执行地时候代表了一个随机数地顺序.无论你何时使用这个种子数值,在中同样地数据顺序就被分配给虚拟用户.如果在测试执行地时候发现了一个问题并且企图使用同样地随机数序列来重复测试,那么,你就可以启动这个功能(可选项).、唯一():方法分配一个唯一地有顺序地值给每个虚拟用户地参数.、与以前定义地参数取同一行(<>):该方法从和以前定义过地参数中地同样地一行分配数据.你必须指定包含有该数据地列.在下拉列表中会出现定义过地所有参数列表.注意:至少其中地一个参数必须是、或者.如果数据表中有三列,三个参数定义在列表中:,和,如下:对于参数,你可以指示虚拟用户使用方法,而为参数和就可以指定方法" ".所以,一旦""被使用,那么,姓名()""和职位()""同时被使用.、数据地更新方法、――每次反复都要取新值、――只要发现该参数就重新取值、――在所有地反复中都使用同一个值、超出范围:(选择数据为时才可用到)、――中止、――继续循环取值、――取最后一个值、在控制器中分配值:(选择数据为时才可用到)、――自动分配、() ――指定一个值五、从已存在地数据库中导入数据允许你利用参数化从已经存在地数据库中导入数据.可以使用下列两种方式之一:、使用(要求在系统上先安装).、指定数据库连接字符串和语句.用户脚本生成器在从数据库中导入数据地过程中提供了一个向导.在向导中,你指明如何导入数据-通过创建查询语句或者直接书写语句.在导入数据以后,以为后缀并作为正规地参数文件保存.要开始导入数据库中数据地过程,在参数属性对话框中点击" ",则,数据库查询向导弹出.要创建新地查询:、选择" ".如果需要地帮助,选择" ",然后点击"".如果你还没有安装,会提示你这个功能不可用.在进行之前,从中安装.、在中遵循以下步骤,导入期望地表和列.、在完成数据地导入后,选择" ",然后点击"".在参数属性对话框中数据库记录以文件地形式显示出来.要在中编辑并查看数据,选择" ".若要结束,则选择"> "返回到脚本生成器.、在" "部分,指定包含当前参数数据地列可以指定列号或者列名.注意:列标题默认为第行().、从" "列表中选择一个更新方法来告诉虚拟用户在脚本指定地过程中如何选择表中地数据.可选项是:、、或者.其中每一项地含义文章前面已经讲述,就不再赘述.、如果选择" ",虚拟用户在每次迭代地时候会使用新地一行地数据而不是重复同样地数据.要指定数据库连接或者语句:、选择" ",然后点击"".、点击""指定一个新地连接字符串.选择数据源地窗口弹出.、选择已有地数据源,或者点击""创建一个新地数据源.向导将提示你穿过创建数据源地过程.在完成后,连接字符串就会在连接字符串框中显示出来.、在框中,输入或者粘贴语句.、点击""继续语句并导入数据.数据库记录将以文件地形式显示在参数属性框中.、在" "部分中,指定包含当前参数数据地列.你可以指定列号或者列名.、从" "列表中选择一个更新方法来告诉虚拟用户在脚本指定地过程中如何选择表中地数据.可选项是:、、或者.、如果从中,选择" ",虚拟用户在每次迭代地时候会使用新地一行地数据而不是重复同样地数据.参数化过程中要注意地问题:. 参数化文件尽可能少,因为参数是放在内存中地,占用了内存地资源;. 参数化文件与脚本分离;. 参数文件地路径应该以相对路径来取;. 一些时候为了使参数更具有真实性,参数应该从数据库中来获得;. 参数类型地选择;. 参数地数据一般要由业务决定.。

LoadRunner 参数化的功能详解

LoadRunner 参数化的功能详解

LoadRunner 参数化的功能详解参数化的定义:使用指定的数据源中的值来替换脚本录制生成的语句中的参数。

对Vuser脚本进行参数化的好处:1、减小脚本的大小2、提供了使用不同的脚本的值执行脚本的能力参数化涉及两个任务:1、用参数替换Vuser脚本的常量值2、为参数设置属性和数据源“Select next ro w”定义的是如何选择下一行数据。

该处有三个选项"Sequential","Random","Unique",Sequential:顺序地向Vuser分配数据。

Random:当测试开始运行时,“随机”方法为每个Vuser分配一个数据表中的随机值。

Unique:为每一个Vuser的参数分配一个唯一的顺序值。

在这种情况下必须确保表中的数据对所有的Vuser和它们的迭代来说是充足的。

如果拥有20个Vuser并且要进行5次迭代,则测试者的表格中必须至少包含100个数值。

“Update value on”定义的是什么时候更新数据值,备选项有每次迭代,每次出现和一次。

表LoadR unner参数更新方法和数据分配如果LoadRunner的函数中某个参数不能直接使用LoadRunner参数,那么可以通过lr_eval_string进行转换取到参数的值。

参数表中sel ect next row和upda te value on的设置LR的参数的取值,和select next row和update value on的设置都有密不可分的关系。

下表给出了select next row和update value on不同的设置,对于LR的参数取值的结果将不同,给出了详细的描述。

Loadrunner中参数的设置转载自51CMM做负载或者压力测试时,很多人选择使用了Loadrunner测试工具。

该工具的基本流程是先将用户的实际操作录制成脚本,然后产生数千个虚拟用户运行脚本(虚拟用户可以分布在局域网中不同的PC机上),最后生成相关的报告以及分析图。

LoadRunner调用Oracle存储过程

LoadRunner调用Oracle存储过程

LoadRunner 调用 Oracle 储存过程为了测试这个储存过程,我遥了一圈去做这个事情,这里说一下我自己接受就任务和自己开始是怎么想的。

方法一:一开始我想着能够使用C#直接去调用储存过程,而后用Loadrunner 调用 C#的 dll 去测试,以后发现找不到LoadRunner 如何直接调用C#写的 dll ;但是 dll 储存过程都已经写好,不行能推倒从头用其余的方式去做,因为任务时间比较紧,就山寨的用C#写了个.exe 去调用dll ,达成后履行,印象是:数据库跟本一点压力都没有,但是负载机都已经100%了,而且这类做法得需要在每台负载机都安装一个 oracle 客户端,要不接见不了,负载机有30 台,每台都去安装一编,我倒!方法二:最后想到一种方法,写一个WebService 去调用 Dll ,Loadrunner 再去调用WebService 去进行测试。

(这类做法是不是很笨?有没有其余更好的方法,请留言给我!)下边就把整个过程详尽列一下,其实这个以前也都有做过,但因为没有记录到博客,全忘掉了,重写是多么的难过,血的教训说明:写博客仍是有必要的!Step1:编写接见储存过程的dllusing System;using System.Collections.Generic;using System.Data;using System.Data.OracleClient;using System.Linq;using System.Text;namespace PaysysInterfaceTest{public class PaysysBase{public OracleConnection conn = null;public OracleCommand cmd = null;////// 数据库初始化//////数据库源( Orlacle Client 下的 tnsnames.ora 配置///数据库登录名///数据库登录密码///public int PaysysInit(string DataSource, string DataUserId, string DataPassword){var mConn = string.Format("Data Source={0};User Id={1};Password={2};", DataSource, DataUserId, DataPassword);conn = new OracleConnection(mConn);try{conn.Open();cmd = new OracleCommand();cmd.Connection = conn;}catch (Exception ex){return 0;}return 1;}//////调用的储存过程//////储存过程名称///public int CallInterface(string interfaceName){var nResult = 0;var queryString = interfaceName;mandType =CommandType.StoredProcedure;mandText = queryString;try{cmd.ExecuteNonQuery();Console.WriteLine("Query Success!!");nResult =Convert.ToInt32(cmd.Parameters["result"].Value);}catch (Exception ex){Console.WriteLine("Query Error!!\r\n" + ex.Message);nResult =Convert.ToInt32(cmd.Parameters["result"].Value); ;}finally{cmd.Clone();conn.Close();Console.WriteLine("Close Db");}return nResult;}}public class PlayerLogin : PaysysBase{public string s_account = "";public string s_password = "";//////储存过程初始化参数//////用户账号///用户密码public void LoginInit(string account, string password) {s_account = account;s_password = password;InitParam();}//////初始化信息///private void InitParam(){//反回值cmd.Parameters.Add("result", OracleType.Float);cmd.Parameters["result"].Direction = ParameterDirection.ReturnValue;cmd.Parameters.Add("s_account", OracleType.VarChar);cmd.Parameters["s_account"].Direction = ParameterDirection.Input;cmd.Parameters["s_account"].Value = s_account; cmd.Parameters.Add("s_password", OracleType.VarChar);cmd.Parameters["s_password"].Direction= ParameterDirection.Input;cmd.Parameters["s_password"].Value =s_password;//==================out==================cmd.Parameters.Add("d_login_time", OracleType.DateTime);cmd.Parameters["d_login_time"].Direction = ParameterDirection.Output;cmd.Parameters.Add("d_last_login_time",OracleType.DateTime);cmd.Parameters["d_last_login_time"].Direction =ParameterDirection.Output;cmd.Parameters.Add("d_last_logout_time",OracleType.DateTime);cmd.Parameters["d_last_logout_time"].Direction =ParameterDirection.Output;}//////调用履行储存过程//////public int LoginInterface(){return CallInterface("player.login");}}public class PlayerLogout : PaysysBase{public string s_account = "";public void LogoutInit(string account){}s_account = account; InitParam();private void InitParam(){//反回值cmd.Parameters.Add("result", OracleType.Float);cmd.Parameters["result"].Direction = ParameterDirection.ReturnValue;cmd.Parameters.Add("s_account", OracleType.VarChar);cmd.Parameters["s_account"].Direction = ParameterDirection.Input;cmd.Parameters["s_account"].Value = s_account;}public int LogoutInterface(){return CallInterface("player.logout");}}}碰到问题:1、在编写 login 的接口时,因为只初始化了Input 的参数,还认为不需要Output 的参数,因此致使调用的时候向来出现参数缺乏的问题。

9.loadrunner性能测试之参数化

9.loadrunner性能测试之参数化

9.loadrunner性能测试之参数化⼀、参数化概念1 A.位置:要参数化的值右键替换为参数2 或者快捷键栏的P图标(Ctrl+L)3 参数化后右键可以还原被参数化的值4 B.概念:对脚本中某些常量,使⽤参数来代替,减少脚本数量,更接近真实业务场景⼆、参数化之File参数化策略1 A.取值顺序2 Sequential顺序-----------------(A1)3 Random随机---------------------(A2)4 Unique唯⼀,需考虑值⽤光时策略-(A3)5 B.何时更新6 Each iteration每次迭代---------(B1)7 Each occurrence每次出现--------(B2)8 Once只取⼀次-------------------(B3)9 C.取值超出后(选择Unique后)10 Abort Vuser放弃11 Continue in a cyclic manner继续循环取12 Continue with last value⽤最后的值继续13 D.参数化策略组合情况14 -- A1B1:顺序取值,迭代才更新值,与迭代有关,不迭代该始终⽤顺去取到的值在该脚本⼀直使⽤15 A1B2:顺序取值,脚本每次出现参数,就会顺序得到新值,与迭代⽆关16 A1B3:顺序取第⼀个值后不再发⽣变化,只取⼀次,迭代也不再更新17 -- A2B1:随机取值,迭代才更新值,与迭代有关,不迭代该始终⽤顺去取到的值在该脚本⼀直使⽤18 A2B2:随机取值,脚本每次出现参数,就会随机得到新值,与迭代⽆关(登录,购买)19 A2B3:随机取第⼀个值后不再发⽣变化,只取⼀次,迭代也不再更新20 -- A3B1:顺序取值,迭代才更新值,可⾃动或⼿动分配块⼤⼩,值取尽后要看C中值超出策略21 A3B2:顺序取值,脚本每次出现参数,且⼿动设置每个vuser分配的块⼤⼩,同样考虑值超出策略(注册)22 A3B3:顺序取第⼀个值后不再发⽣变化三、参数化之数据库连接安装MySQL ODBC驱动,选择File⽅式的参数化,并且如下图进⾏配置,配置完成数据会⾃动添加到File中四、其他参数化⽅式4.1、Date/time(⽇期/时间)4.2、Group Name(组名)参数类型使⽤Vuser组名替换参数,要执⾏Vuser组的名称,否则组名始终是⽆4.3、Iteration Number(迭代编号)使⽤当前的迭代编号替换参数,格式可⾃⼰设置4.4、Load Generator Name(负载发⽣器名)使⽤Vuser脚本名替换参数4.5、Random Number(随机数)随机⽣成的整数替换参数,可通过设置最⼩值和最⼤值4.6、Unique Number(唯⼀数)启动:指的是开始的数量每个Vuser块⼤⼩:开始是1000然后每个⽤户最多+100⽤户1取值1000-1099,⽤户2取值1100-1199以此类推4.7、Vuser ID(⽤户ID)使⽤虚拟⽤户ID来替换参数值。

LoadRunner参数化关联

LoadRunner参数化关联

LoadRunner参数化关联我们⽤ HTTP 协议做脚本,要注意的是,不同协议的函数是不⼀样的,假如换 websocket 协议,关联函数就要⽤其他的参数化原理1、什么叫参数化 把脚本内⼀个写死的值,去⼀个数组内取值,进⾏替换2、为什么要参数化 烂⼤街的回答:模拟真实场景,模拟真实情况 真实原因:应⽤程序/数据库对数据有唯⼀性要求(应⽤程序内就是单点登录;数据库内就是该字段为 Unique ,唯⼀)避免查询缓存对结果造成失真(重复查询同⼀条数据,如果该数据的表内开启了查询缓存,则会命中。

那么响应时间会⽐市价值偏⼩)3、可不可以不⽤参数化 查询缓存的开关是⽤query_cache_size = 20M和query_cache_type = ON 打开查询缓存,程序校验就得修改代码了,数据库唯⼀要求,把 Unique 的限制给拿掉就ok如何参数化(参数化会变紫)1、选中需要参数化的内容,右键,选择"Replace with a Parameter",2、为参数命名,并且制定参数取值的⽂件格式 Parameter name,就是我么那要设定的参数名,这个是不能重复的 Parameter type 是参数取值的⽅式,这个 file 是从 .bat ⽂件中取值,这个⽂件会⾃动⽣成在项⽬路径下结果:例如:web_submit_data("提交","Action=http://192.168.66.129/bbs/member.php?mod=register&inajax=1","Method=POST","TargetFrame=","Referer=http://192.168.66.129/bbs/member.php?mod=register",ITEMDATA,"Name=regsubmit", "Value=yes", ENDITEM,"Name=formhash", "Value={formhash}", ENDITEM,"Name=referer", "Value=http://192.168.66.129/bbs/forum.php", ENDITEM,"Name=activationauth", "Value=", ENDITEM,"Name={Name}", "Value=hua00{username}", ENDITEM,"Name={pass}", "Value=123456", ENDITEM,"Name={conpass}", "Value=123456", ENDITEM,"Name={mail}", "Value=hua00{username}@", ENDITEM,LAST);另⼀种情况,我们要把另⼀个数值也运⽤之前同⼀个参数咋办?另外,我们的参数化还有种⽅式:可以先建好,然后再脚本内⽤,这种情况适⽤于只给了脚本,但是没有给参数化⽂件的情况打开变量列表,填写变量值参数化变量和值是怎样对应的根据脚本中的参数名({username})去找参数列表中的的参数username,再去找参数列表中的username对应的bat⽂件注意,我们 loadrunner 的参数化默认是以 {} 为边界的,我们也可以修改这个参数化的边界类型:在 Tools-->General Options-->Parameterization的Paramrter Braces 内可以设置,我们可以看到默认是 {}参数化策略 最常⽤的取值⽅式:唯⼀(Unique+XX)我们写⼀个脚本来执⾏不同的参数化策略:Action(){int i; //申明变量for (i = 0;i<2;i++) { //循环char *a = "{p1}"; //获取参数值传给 achar *b = "{p2}"; //获取参数值传给 bchar *c = "{p1}"; //获取参数值传给 clr_output_message("%s,\t%s,\t%s",lr_eval_string(a),lr_eval_string(b),lr_eval_string(c)); //分贝演⽰ 9 种不同的参数化策略组合结果}return0;}如下Loadrunner参数化取值策略由[select next row]、[update value on]两部分组成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

loadrunner可以参数化一些参数,其中一种可以用直接连接数据库取值的方式:选中参数,右键:Replace with Paramater,选择type,点击Properties:
点Data Wizard后可以设置数据库:
下一步后,点Create-->机器数据源-->新建-->系统数据源-->下一步:
1、postgres数据库:
选择你需要的数据源(如:PostgresSQL ODBC Driver(UNICODE))-->下一步-->完成:
这时可以点击Test查看你的数据库配置是否正确
这些做完后,输入sql语句,Finish即可:
2、oralce数据库:
先安装oracle客户端,其间有建立Net服务名
(前面跟postgres数据库一样,然后)选择你安装的oracle:
-->下一步-->完成
-->Data Source Name:the name used to identify the data source to ODBC. For example, "odbc-pc". You must enter a Data Source Name.
Description - a description or comment about the data in the data source. For example, "Hire date, salary history, and current review of all employees." The Description field is optional.
TNS Service Name - the location of the Oracle database from which the ODBC driver will retrieve data. This is the same name entered in configuring network database services using the Oracle Net Manager. For more information, see the Oracle Net Services documentation and Using the Oracle ODBC Driver for the First Time. The TNS Service Name can be selected from a pulldown list of available TNS names. For example, "ODBC-PC". You must enter a TNS Service Name.
User ID - the user name of the account on the server used to access the data. For example, "scott". The User ID field is optional.
-->点击:Test Connection看是否可以连接
-->输入用户名密码-->OK-->OK
-->选择你的数据库源名称,然后确定-->输入用户名密码
在SQL statement框里输入你要查询的sql语句:Finish就OK了。

相关文档
最新文档