




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
事务、同步点(集合点)和思考时间、参数化、检查点1 Transaction(事务)事务是计算机程序设计中一个很重要的概念。一个事务应该具有原子性、一致性、隔离性和持久性。在LoadRunner里,我们定义事务主要是为了度量服务器的性能。每个事务度量服务器响应指定的Vuser请求所用的时间,这些请求可以是简单任务(例如等待对单个查询的响应),也可以是复杂任务(例如提交多个查询和生成报告)。1.1 手动设置Transaction的方法(显式事务)(1)选择新Transaction开始点,在被度量脚本段之前插入lr_start_transaction。(2)选择新Transaction结束点,在被度量脚本段之后插入lr_end_transaction。Lr_start_transaction(login);web_submit_form(auth,Snapshot=t2.inf,ITEMDATA, Name=ssousername,Value=robin, ENDITEM,Name=password, Value=123456, ENDITEM,Name=remember, Value=, ENDITEM, LAST);Lr_end_transaction(login”);1.2 自动事务(隐式事务)在Run-time Settings中,在Miscellaneous选项卡的Automatic Transactions中定义自动事务。可以设置LoadRunner直接按事务处理Vuser中的每个Action或step。这里,Action指的是vuser_init、Action和vuser_end三大函数,而step指的是LoadRunner执行的每个函数。LoadRunner将Action名或step名指定为事务名。在默认情况下,将启用按Action使用自动事务的功能,如图下图所示 注意:Transaction的开始点和结束点必须在一个Action中,跨越多个Action是不允许的。2、Rendezvous Point(同步点,集合点)只能在Action中添加集合点(不能在vuser_init/vuser_end中添加)。Lr_rendezvous(the begin port);3、注释3.1 用/*注释的话*/3.2 注释一句话/后面是话4、Think Time(思考时间)4.1 定义用户在执行两个连续操作期间等待的时间称为“思考时间”;lr_think_time的参数单位是秒4.2 不需要思考时间的时候:LoadRunner提供了在Run-time Settings中可以设置直接忽略Think Time,而不用修改脚本,如下图所示:5、参数化(Parameters)参数化是我们学习LoadRunner中经常用到的功能。除了实现数据驱动之外,参数化脚本还有以下两个优点:(1)可以使脚本的长度变短。(2)可以增强脚本的可读性和可维护性。5.1 参数的创建5.1.1 脚本视图参数化:新建选择需要参数化的常量,点击右键选择Replace witha Parameter;弹出参数化设置界面,在“Parameter name”中输入参数的名称,或者选择一个在参数列表中已经存在的参数。在“Parameter type”下拉列表中选择参数类型1、参数化类型(1)Data Files这是我们最常使用的一种参数类型,它的数据存在于文件中。该文件的内容可以手工添加,也可以利用LoadRunner的Data Wizard从数据库中导出。(2)User-Defined Functions调用外部DLL函数生成的数据。(3)Internal Data:虚拟用户内部产生的数据。Internal Data包括以下几种类型: A、Date/Time Date/Time用当前的日期/时间替换参数。要指定一个Date/Time格式,你可以从菜单列表中选择格式,或者指定自己的格式。这个格式应该和脚本中录制的Date/Time格式保持一致。B、Group NameGroup Name用虚拟用户组名称替换参数。在创建scenario的时候,你可以指定虚拟用户组的名称。注意:当从VU运行脚本的时候,虚拟用户组名称总是None。C、Load Generator NameLoad Generator Name用脚本负载生成器的名称替换参数。负载生成器是虚拟用户在运行的计算机。D、Iteration NumberIteration Number用当前的迭代数目替换参数。E、Random NumberRandom Number用一个随机数替换参数。通过指定最大值和最小值来设置随机数的范围。F、Unique NumberUnique Number用一个唯一的数字来替换参数。你可以指定一个起始数字和一个块的大小。 G、VuserIDVuserID用分配给虚拟用户的ID替换参数,ID是由LoadRunner的控制器在scenario运行时生成的。如果从脚本生成器运行脚本的话,虚拟用户的ID总是-1。注意:缺省的参数括号对于任何脚本都是“”。你可以在“General Options”对话框的“Parameterization”选项卡(“Tools”“General Options”)中定义参数括号种类。5.1.2 脚本视图参数化:引用如果想用以前定义过的参数来替换常量字符串的话,选中该字符串,单击右键,然后选择“Useexistingparameters”,从弹出的子菜单中选择参数,或者用“SelectfromParameterList”来打开参数列表对话框5.1.3 还原常量对于已经用参数替换过的地方,如果想取回原来的值,那么就在参数上单击右键,然后选择“RestoreOriginalvalue”。5.1.4 不能直接设置的参数化的用lr_eval_string参数化lr_eval_string用来得到一个参数的值,而参数可以预先在LoadRunner的ParameterList里定义好,也可以是之前通过其他函数创建的。下面是一个小例子: /通过lr_save_datetime把七天后的时间保存在date参数中lr_save_datetime(%d%m%y,DATE_NOW+(ONE_DAY*7),date);/通过lr_eval_string把date参数中的值取出来,lr_output_message的输出值为七天后的时间lr_output_message(Dateis%s,lr_eval_string(date);这里需要注意的是:lr_eval_string函数的返回值是一个指向参数值的指针,这个指针指向的内存是LoadRunner内部分配的,每次Iteration后自动释放。如果在Iteration中还有多层循环进行参数化,那么最好不要使用lr_eval_string了,这会导致内存迟迟不能释放。在这种情况下,应该使用lr_eval_string_ext,同时配对使用lr_eval_string_ext_free来及时释放内存。5.2定义参数的属性:在Web用户脚本中,既可以在基于文本的脚本视图中定义参数属性,也可以在基于图标的树视图中定义参数属性。5.2.1 使用参数列表单击参数列表按钮或者选择“Vuser”“ParameterList”,打开参数列表对话框1、创建参数 要创建新的参数,单击“New”按钮,新的参数则被添加在参数树中,该参数有一个临时的名字,你可以给它重新命名,然后回车。设置参数的类型和属性,单击“OK”按钮,关闭参数列表对话框。2、删除参数要删除已有的参数,首先要从参数树中选择该参数,单击“Delete”按钮,然后确认你的行为即可。3、修改参数要修改已有的参数,首先要从参数树中选择该参数,然后编辑参数的类型和属性。5.2.2 数据文件配置:1、Firstdataline在“Firstdataline”中,在脚本执行的时候选择第一行数据使用。列标题是第0行,若从列标题后面的第一行开始的话,那么就在“Firstdataline”中输入1;如果没有列标题,就输入0。2、Selectnextrow在“Selectnextrow”中输入更新方法,以说明虚拟用户在获取第一行数据后,下一行数据按照什么规则来取。(1)顺序(Sequential):该方法顺序地给虚拟用户分配参数值。如果正在运行的虚拟用户访问数据表的时候,它会取到下一行中可用的数据。也就是说,按着顺序一个个取,取了第一行再取第二行,取了第二行再取第三行,依此类推。如果参数表里的数据都取一遍了,不要紧,那就再回到第一行,重新开始。(2)随机(Random):该方法在每次迭代的时候会从数据表中随机取一行的数据。比如当前参数表中有100行数据,那么随机数就从1100之间任取一个,然后作为行号,去取相应行的参数值数据。(3)唯一(Unique):Unique方法分配一个唯一的有顺序的值给每个虚拟用户的参数。也就是100行数据,只能取100次,如果第101个用户来取,怎么办?对不起,没有数据了,LoadRunner会报错,提示数据不够用。 (4)与以前定义的参数取同一行(SameLineAs):该方法适用于几个参数的时候,至少有一个参数是Sequential、Random或者Unique方式的,那么定义时,和哪一个参数相同则取该参数的第几行;像用户名和密码一样,需要成对出现的时候,可以用该方法。3、Updtaevalueon选项(1)Eachiteration每次迭代就要取新值(在同一个迭代中,无论读几次参数,获得的都是同一个参数值)。 (2)Eachoccurrence只要取一次,就要新的(在同一个迭代中,读一次参数,就要取其新值,而新值是从哪里来的,由Selectnextrow来规定)。 (3)Once在所有的循环中都使用同一个值(只取一次,也就是说,这个参数只有一个值)。4、Whenoutofvalues 选项 Whenoutofvalues,超出范围:(选择数据为Unique时才可用到)(1)AbortVuser中止。 (2)Continueinacyclicmanner继续循环取值。(3)Continuewithlastvalue取最后一个值。5、AllocateVuservaluesintheController AllocateVuservaluesintheController在控制器中分配值:(选择数据为unique时才可用到) (1)Automaticallyallocateblocksize自动分配。 (2)Allocate()valuesforeachVuser指定一个值。5.3 从已存在的数据库中导入参数数据 5.3.1 可以使用下列两种方式之一:1、使用MicrosoftQuery(要求在系统上先安装MSQuery)。2、指定数据库连接字符串和SQL语句。5.3.2 MSQuery导入步骤1、在参数属性对话框中单击“DataWizard”按钮,则打开数据库查询向导。2、选择“CreatequeryusingMicrosoftQuery”,如果需要MSQuery的帮助,选择“ShowmehowtouseMicrosoftQuery”,然后单击“Next”按钮3、在MicrosoftQuery中导入期望的表和列(1)选择表和字段(2)设置过滤条件(3)设置排列顺序4、“ExitandreturntoMercuryVirtualUserGenerator”,然后单击“完成”按钮;设置完成后,在参数列表对话框中,数据库记录以data文件的形式显示出来5.3.3 指定数据库连接或SQL语句1、选择“SpecifySQLstatementmanually”,然后单击“下一步”按钮。2、单击“Create”按钮,指定一个新的连接字符串3、选择已有的数据源,或者单击“新建”按钮创建一个新的数据源。向导将提示你完成创建ODBC数据源的过程。在完成后,连接字符串就会在连接字符串框中显示出来。4、在SQLstatement框中,输入或者粘贴SQL语句5、单击“Finish”按钮继续SQL语句并导入数据。数据库记录将以data文件的形式显示在参数列表对话框中6 检查点(Checkpoint)6.1检查点设置方法-ContentCheck定义在【Run-timesettings】【ContentCheck】6.2 编写函数6.2.1主要有三个函数1、 web_reg_find函数2、 web_find函数3、 web_image_check函数6.2.2 web_find和web_reg_find函数两者是有一些差别的:(1)web_reg_find先注册的优势是脚本能够一边接收Server的数据缓冲,一边进行查找,提高了查找的效率。(2)web
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装修欠薪管理办法
- 网点彩票管理办法
- 船舶计划管理办法
- 腾讯企业管理办法
- 行业分会管理办法
- 麻醉风险与管理课件
- 二零二五年度现代农业科技股权转让协议书
- 2025版矿产品进出口检验检疫合同样本
- 二零二五年度林业资源承包经营合同范本
- 二零二五年度湖南婚姻解除协议范本修订版
- 2025-2030中国装饰画行业市场现状供需分析及投资评估规划分析研究报告
- 全国典型案例专利撰写指南
- 定制氦气采购合同协议
- 花园养护协议书范本
- 人教版六年级上册数学课件《位置与方向》
- 《关于进一步强化食品安全全链条监管的意见》解读学习课件(2025年3月颁发)
- 2025-2030中国有机场效应晶体管(OFET)材料行业市场现状供需分析及投资评估规划分析研究报告
- 枸橼酸倍维巴肽注射液-药品临床应用解读
- 外科手术安全与质量提升计划
- 2025年山西太原政府12345便民服务热线招聘60人自考难、易点模拟试卷(共500题附带答案详解)
- ISO 37001-2025 反贿赂管理体系要求及使用指南(中文版-雷泽佳译-2025)
评论
0/150
提交评论