关于LoadRunner的脚本及场景设计.docx
文本预览下载声明
关于LoadRunner的脚本及场景设计LoadRunner的强大也许不用我在此处多费唇舌,用过的同学自是可以深切体会一翻,没用过的同学用用就晓得啦~本文旨在针对一些想对 loadrunner 有个初步了解并可以简单上手操作的同学做一个介绍,起到一个抛砖引玉的作用,更深入的使用以后会不定期的整理分享出来。主要介绍脚本及场景两部分内容。1关于脚本我们可以使用LoadRunner的Virtual user generator创建虚拟用户,以虚拟用户的方式模拟真实用户的业务操作行为,它会先记录业务流程,然后把它转化为脚本。利用虚拟用户,我们可以在业务主机上同时产生成千上万的用户访问。1.1协议的选择在录制脚本时选择那种方式呢:如果应用是WEB应用,首选是HTML-based方式如果应用是使用HTTP协议的非WEB应用,首选是URL-based方式如果WEB应用中使用了java applet程序,且applet程序与服务器之间存在通讯,选用URL-based方式如果WEB应用中使用的javascript、vbscript脚本与服务器之间存在通讯(调用了服务端组件),选用URL-based方式基于以上分析,针对我们应用的特点,我们一般选择web(http/html)协议的html-based方式。采用这种方式录制的脚本,方便我们在后期增强脚本时做关联/参数化1.2测试脚本规范脚本越小越好。就像写code一样,不要太长,这样易于维护也易懂。尽量做到一个功能写一个脚本。如果那些功能是连续有序的,必须先做上一个,下一个动作才能进行,就只能放在一起了插 入事务。有时我们为了衡量某个action的性能,需要在action的开始和结束位置插入这样一个范围,这就定义了一个 transaction,LoadRunner 运行到该事务的开始点时,LoadRunner 就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在 结果中会有反映。插入事务操作可以在录制过程中进行,也可以在录制结束后进行。LoadRunner 可以在脚本中插入不限数量的事务。举个例子:比如购买书籍,把从登录到购买成功整个作为一个脚本,对于需要关注的输入资料到提交保存,定义为单独的事务, 以取得响应时间,事务脚本函数如下:只 保留核心内容。录制后的脚本可能包含很多内容,而这些内容又不是我们本身应用所需要关注的,此时就需要对脚本进行修改,去除多余脚本,主要包括:删除 cookies、删除关键字EXTRARS后面的url、删除不必要的url、删除一切带有敏感标记的内容(比如:不想压测到实际生产线上时,则需要删除www.*.com的所有相关内容)脚本名称,事务名称、参数名称要做到见名知义。1.3脚本增强其实上面提到的去除多余脚本也可以放在这里来介绍,作为脚本增强的一个方面,外关于脚本增强的几个方面,就要涉及到以下内容:参数化,关联1.3.1参数化首先选择待参数化的内容,点击右键,选择”Replace with parameter”。在弹出的对话框中,填写参数名称、选择Parameter Type,再点击Propeties,进行参数属性设置。现选择最常用的一种参数类型,举例如下:假如我们要对登录进行javascript:;性能测试,hello01 是我们录制脚本时初始生成的用户名,当我们需要测试多个不同用户(eg:hello02\hello03……)时,就需要对用户名(密码同样操作)进行参 数化操作,选中脚本中的“hello01”,点击右键后选择”Replace with parameter”,设置“username”为其参数名称,类型选择file,再点击properties,对其进行具体内容设置,依次输入 hello02\hello03……,并保存。如下图所示:点击properties后,可对该参数进行个性化设置“Select next row ”有以下几种选择:多个VU如何取值?Sequential:按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取?Random:在每次循环里随机的读取一个,但是在循环中一直保持不变?Unique :每个VU取唯一的值。注意:使 用该类型必须注意数据表有足够多的数。比如Controller 中设定20 个虚拟用户进行5 次循环,那么编号为1 的虚拟用户取前5个数,编号为2 的虚拟用户取6-10 的数,依次类推,这样数据表中至少要有100个数据,否则Controller 运行过程中会返回一个错误。Same Line As 某个参数(比如username):和 前面定义的参数username 取同行的记录。通常用在有关联性的数据上面。这个也是很有用的,比如有时候我们要求指定VU取读取指定数据,就可以这样定义:创建参数文件,共两列,假设
显示全部