Loadrunner录制脚本以及Recording Options

1.Vugen
1.1使用Vugen录制脚本的基本步骤
1.1.1 new script
Loadrunner录制脚本以及Recording Options_第1张图片

1.1.2选择协议
单协议(new Single Protocol Script)
多协议(New Multiple Protocol Script)
顾名思义,这个单协议是指所录制的对象是使用唯一的协议,可以通过改变category选项,选择要使用到的协议。默认是popular protocol 指的是比较流行的协议,如果你要看全部的协议,category选择All Protocol
而在需要录制的对象使用多余一种情况,选择多协议,要把用到的协议全部添加。(用的什么协议和开发确定)
1.1.3录制或手写脚本
选择好协议之后,点击create,则会弹出 start Recording 窗口,如果没有弹出此窗口可以使用ctrl+R组合键启动录制窗口。当然,如果你想手写的话,直接点击cancel就可以啦!这里介绍下录制脚本的方法。
Loadrunner录制脚本以及Recording Options_第2张图片

我们先看一下,Start Recoding 的选项:
•Application Type:应用程序的类型,即需要录制客户端程序的类型。
•InternetAppcations:指需要录制的对象是一个网络应用(基于浏览器),即我们所说的web应用。
•Win32 Applications:指用来支持Win32的标准客户端,即常见的C/S架构的client。
Application Type选择的不同,会导致后面的选项不同,我们看一下差异
Loadrunner录制脚本以及Recording Options_第3张图片

选择Internet Application
•Program to record:要录制的客户端程序
对于B/S应用来说,LR默认支持最好的是32bit的IE浏览器。
•URL address:对于B/S应用来说,要录制的脚本的入口地址
•Working directory:临时工作目录,不需要改动
•Record into Action:指定录制脚本存放的参数,默认不用改

•Record the application startup:单击Ok按钮后VuGen会启动我们需要录制的应用,这个选项是指一旦启动应用后就将开始录制应用收发的协议数据
选择Win32 APPlication
Loadrunner录制脚本以及Recording Options_第4张图片

•Program to record:要录制的客户端程序,通过后面的 按钮将访问的应用程序加进来
•Program arguments:值程序参数,在某些应用程序后需要添加一些参数才能运行,这里是提供的是填写参数的位置。
•Working directory:临时工作目录,不需要改动。
•Record into Action:指定录制脚本存放的参数,默认不用改
动。

1.1.4Recording Options
录制选项,在LR中,不同的协议具有不同的录制选项。我们主要介绍WEB(html/http)协议下的录制选项。Recording Options选项在Tools 菜单下,或者在录制选项时点击Options…也可以使用ctrl+F7快捷键

Loadrunner录制脚本以及Recording Options_第5张图片
•Script:基于web(HTTP/HTML)协议的Vuser脚本是使用的C语言作为标准的。在不同的协议下,所使用的语言也不相同,其对应的函数关键字也有所区别。一般来说不需要进行设置。

Loadrunner录制脚本以及Recording Options_第6张图片

•Protocol :在此,协议是否勾选不影响录制(抓包),但是会影响到脚本的生成。影响脚本录制的是NewScript时,选择的协议,在多协议的时候可以通过这个功能切换录制所使用的协议或补录某些协议的内容。
Loadrunner录制脚本以及Recording Options_第7张图片

•Recording:是用来指定生成脚本的类型,在LR中,生成脚本的类型有两大类、三小类
•HTML-base Script :HTML模式,又叫主请求模式,在该模式下,LR只会对主请求生成脚本,其他的资源子请求是不会生成脚本的。
代码特征:在函数中会出现Mode=HTML。
优点:生成的脚本简洁、易懂。
缺点:该模式可能会遗漏某些ajax的请求
主请求:抓包中和你的URL地址一样的就是主请求(红色框)
资源子请求:构成页面的元素css 、js这些(蓝色框)

Loadrunner录制脚本以及Recording Options_第8张图片

HTML模式又分为两种子模式:Loadrunner录制脚本以及Recording Options_第9张图片

(1)HTML下基于用户行为模式(A script describing user Actions),在该模式下,生成的脚本中,上下函数之间是通过上下文(context)进行通信。即从第二个函数(请求)开始,每一个函数的执行都是依赖于上一个函数的响应结果。
优点:因为相邻请求通过脚本建立了强制的依赖关系,对于业务中本身就存在的上下依赖,可以不需要进行关联操作。
缺点:因为强制依赖,导致脚本的耦合程度非常高,可编辑性几乎为0.
注意:对于非上下依赖,该模式也无能为力,这个模式永远不要用,会出问题。
(2)HTML模式下基于URLs模式(A script containing explicit URLs only),在该模式下,生成的脚本中,每一个函数(请求)的实现都是通过URL的方式来实现函数之间有任务约束
优点:脚本的可编辑性强。
缺点:一旦业务存在依赖关系,则必须做关联处理。

Loadrunner录制脚本以及Recording Options_第10张图片

高级选项下Non HTML-generated elements
这个选项是对非标准的HTML元素的处理方式,Vugen有以下3种处理方式
•Record within the current script step:对于JavaScript等内容直接作为web_url 下的附属信息记录。
•Record in separate steps and use concurrent groups:对于相关内容新建一个web_url来处理。
•Do not record :不录制额外的内容

•URL-base Script :URL模式,又叫HTTP模式,在该模式下,LR会对所有的HTTP请求生成脚本,不论是主请求还是子请求。
代码特征:在函数中会出现Mode=HTTP。
优点:不会遗漏任何http协议的请求。
缺点:生成的脚本臃肿、可读性差。

在实际操作过程中,我们建议以HTML下基于URLs模式为主,然后以URL模式为辅来实现脚本的录制生成。举个例子吧,某业务包含Ajax请求,这个时候如果只使用HTML下基于URLs模式,就会漏掉Ajax的请求。这个时候要更改Recording Options 的选项,然后点击Tools-RegenerateScript 重置脚本,找到并把Ajax请求函数复制到原来脚本的位置。Loadrunner录制脚本以及Recording Options_第11张图片

•Port Mapping 提供了对于端口映射的处理规则,在默认情况下不需要进行任何设置。该选项和代理录制脚本有关,
Loadrunner录制脚本以及Recording Options_第12张图片

•Advanced
Support charset该选项会影响到所生成脚本中的编码规则,进而影响到脚本中的乱码问题

如果录制时,勾选了Support选项,则生成的脚本中的Convert选项的值为yes(1)
如果录制时,没有勾选了Support选项,则生成的脚本中的Convert选项的值为no(0)
如果Convert选项的值为yes,则表示脚本中可以直接使用本地语言的编码(中文),LR在发送和接受的过程中会自动进行编码处理。
如果Convert的值为No,则表示脚本中不能直接使用本地语言编码(中文),LR在发送和接受过程中不会进行编码处理。
出现乱码的原因:首先我们看一下phpwind论坛的源代码中
Loadrunner录制脚本以及Recording Options_第13张图片

他使用的是UTF-8的编码,如果不选择Support charset,录制的时候,脚本中中文编码是UTF-8,LR默认使用本地语言去解析UTF-8的编码,这个时候就出现了乱码。
解决的方法有两种:
第一种:直接勾选support charset
第二种:使用函数lr_convert_string_ending 函数
注意:
(1)脚本中是否乱码,其实本质上并不会影响脚本的运行。真正影响脚本运行的是编码的一致性
(2)在LR中编码的选项只对脚本生效,对其他的日志、snapshot、result都没有效果
(3)当我们新建一个脚本时,但是没有走录制流程(start recording)的话,则不论录制选项如何勾选,生成的脚本的Convert选项的值都为No。如果需要复制代码可以使用sava as 选项。
Loadrunner录制脚本以及Recording Options_第14张图片

•Correlation:关联,是LR中的录制关联选项。(没什么用)该选项功能正确,但是本质错误。

Loadrunner录制脚本以及Recording Options_第15张图片

•Data Format Extension:数据格式扩展
因为数据处理本身就是针对字符串的,和数据组织格式的关系不大

你可能感兴趣的:(Loadrunner,loadrunner)