当前位置:文档之家› loadrunner函数大全

loadrunner函数大全

loadrunner函数大全
loadrunner函数大全

LR函数:

lr_start_transaction 为性能分析标记事务的开始

lr_end_transaction 为性能分析标记事务的结束

lr_rendezvous 在 Vuser 脚本中设置集合点

lr_think_time 暂停 Vuser 脚本中命令之间的执行

lr_end_sub_transaction 标记子事务的结束以便进行性能分析

lr_end_transaction 标记 LoadRunner 事务的结束

Lr_end_transaction("trans1",Lr_auto); lr_end_transaction_instance 标记事务实例的结束以便进行性能分析

lr_fail_trans_with_error 将打开事务的状态设置为 LR_FAIL 并发送错误消息 lr_get_trans_instance_duration 获取事务实例的持续时间(由它的句柄指定) lr_get_trans_instance_wasted_time 获取事务实例浪费的时间(由它的句柄指定) lr_get_transaction_duration 获取事务的持续时间(按事务的名称)

lr_get_transaction_think_time 获取事务的思考时间(按事务的名称) lr_g et_transaction_wasted_time 获取事务浪费的时间(按事务的名称)

lr_resume_transaction 继续收集事务数据以便进行性能分析

lr_resume_transaction_instance 继续收集事务实例数据以便进行性能分析 l r_set_transaction_instance_status 设置事务实例的状态

lr_set_transaction_status 设置打开事务的状态

lr_set_transaction_status_by_name 设置事务的状态

lr_start_sub_transaction 标记子事务的开始

lr_start_transaction 标记事务的开始

Lr_start_transaction("trans1"); lr_start_transaction_instance 启动嵌套事务(由它的父事务的句柄指定)

lr_stop_transaction 停止事务数据的收集

lr_stop_transaction_instance 停止事务(由它的句柄指定)数据的收集

lr_wasted_time 消除所有打开事务浪费的时间

lr_get_attrib_double 检索脚本命令行中使用的double 类型变量

lr_get_attrib_long 检索脚本命令行中使用的 long 类型变量

lr_get_attrib_string 检索脚本命令行中使用的字符串

lr_user_data_point 记录用户定义的数据示例

lr_whoami 将有关 Vuser 脚本的信息返回给 Vuser 脚本

lr_get_host_name 返回执行

Vuser 脚本的主机名

lr_get_master_host_name 返回运行 LoadRunner Controller 的计算机名

lr_eval_string 用参数的当前值替换参数

lr_save_string 将以 NULL 结尾的字符串保存到参数中

lr_save_var 将变长字符串保存到参数中

lr_save_datetime 将当前日期和时间保存到参数中

lr _advance_param 前进到下一个可用参数

lr _decrypt 解密已编码的字符串

lr_eval_string_ext 检索指向包含参数数据的缓冲区的指针

lr_eval_string_ext_free 释放由 lr_eval_string_ext 分配的指针

lr_save_searched_string 在缓冲区中搜索字符串实例,并相对于该字符串实例,将该缓冲区的一部分保存到参数中

lr_debug_message 将调试信息发送到输出窗口

lr_error_message 将错误消息发送到输出窗口

lr_get_debug_message 检索当前消息类

lr_log_message 将消息发送到日志文件

lr_output_message 将消息发送到输出窗口

lr_set_debug_message 设置调试消息类

lr_vuser_status_message 生成带格式的输出,并将其写到 ControllerVuser 状态区域

lr_message 将消息发送到 Vuser 日志和输出窗口 lr_load_dll 加载外部 DLL lr_peek_events 指明可以暂停 Vuser 脚本执行的位置

lr_think_time 暂停脚本的执行,以模拟思考时间(实际用户在操作之间暂停以进行思考的时间) lr_continue_on_error 指定处理错误的方法 lr_continue_ on_error (0);lr_continue_on_error (1);

lr_rendezvous 在 Vuser 脚本中设置集合点

TE_wait_cursor 等待光标出现在终端窗口的指定位置

TE_wait_silent 等待客户端应用程序在指定秒数内处于静默状态

TE_wait_sync 等待系统从 X-SYSTEM 或输入禁止模式返回

TE_wait_text 等待字符串出现在指定位置

TE_wait_sync_transaction 记录系统在最近的 X SYSTEM 模式下保持的时间

WEB函数列表:

web_custom_request 允许您使用 HTTP 支持的任何方法来创建自定义 HTTP 请求

web_image 在定义的图像上模拟鼠标单击 web_link 在定义的文本链接上模拟鼠标单击 web_submit_data 执行“无条件”或“无上下文”的表单

web_submit_form 模拟表单的提交

web_url 加载由“URL”属性指定的 URL

web_set_certificate 使 Vuser 使用在 Internet Explorer 注册表中列出的特定证书 web_set_certificate_ex 指定证书和密钥文件的位置和格式信息web_set_user 指定 Web 服务器的登录字符串和密码,用于 Web 服务器上已验证用户身份的区域 web_cache_cleanup 清除缓存模拟程序的内容

web_find 在 HTML 页内搜索指定的文本字符串

web_global_verification 在所有后面的 HTTP 请求中搜索文本字符串

web_image_check 验证指定的图像是否存在于 HTML页内

web_reg_find 在后面的 HTTP 请求中注册对 HTML源或原始缓冲区中文本字符串的搜索 web_disable_keep_alive 禁用 Keep-Alive HTTP 连接

web_enable_keep_alive 启用 Keep-Alive HTTP 连接

web_set_connections_limit 设置 Vuser 在运行脚本时可以同时打开连接的最大数目 web_concurrent_end 标记并发组的结束

web_concurrent_start 标记并发组的开始

web_add_cookie 添加新的 Cookie 或修改现有的 Cookie

web_cleanup_cookies 删除当前由 Vuser 存储的所有 Cookie

web_remove_cookie 删除指定的 Cookie

web_create_html_param 将 HTML 页上的动态信息保存到参数中。(LR 6.5 及更低版本) web_create_html_param_ex 基于包含在 HTML 页内的动态信息创建参数(使用嵌入边界)(LR 6.5 及更低版本)。

web_reg_save_param 基于包含在 HTML 页内的动态信息创建参数(不使用嵌入边界) web_set_max_html_param_len 设置已检索的动态 HTML 信息的最大长度web_add_filter 设置在下载时包括或排除 URL 的条件

web_add_auto_filter 设置在下载时包括或排除 URL 的条件

web_remove_auto_filter 禁用对下载内容的筛选

web_add_auto_header 向所有后面的 HTTP 请求中添加自定义标头

web_add_header 向下一个 HTTP 请求中添加自定义标头

web_cleanup_auto_headers 停止向后面的 HTTP 请求中添加自定义标头 web_r emove_auto_header 停止向后面的 HTTP 请求中添加特定的标头

web_revert_auto_header 停止向后面的 HTTP 请求中添加特定的标头,但是生成隐性标头 web_save_header 将请求和响应标头保存到变量中

web_set_proxy 指定将所有后面的 HTTP 请求定向到指定的代理服务器

web_set_proxy_bypass 指定 Vuser 直接访问(即不通过指定的代理服务器访问)的服务器列表 web_set_proxy_bypass_local 指定 Vuser 对于本地 (Intranet)地址是否应该避开代理服务器 web_set_secure_proxy 指定将所有后面的 HTT

P 请求定向到服务器

web_set_max_retries 设置操作步骤的最大重试次数

web_set_timeout 指定 Vuser 等待执行指定任务的最长时间

web_convert_param 将 HTML 参数转换成 URL 或纯文本

web_get_int_property 返回有关上一个 HTTP 请求的特定信息

web_report_data_point 指定数据点并将其添加到测试结果中

web_set_option 在非 HTML 资源的编码、重定向和下载区域中设置 Web 选项web_set_sockets_option 设置套接字的选项

LoadRunner函数中文翻译系列之一--Action

2009年09月26日星期六上午 09:45

web_url

语法:

Int Web_url(const char *name, const char * url, , [EXTRARES,,LAST)

返回值

成功时返回LR_PASS (0),失败时返回LR_FAIL (1)。

参数:

Name:VuGen中树形视图中显示的名称,在自动事务处理中也可以用做事务的名称。

url:页面url地址。

List of Attributes

EXTRARES:分隔符,标记下一个参数是资源属性的列表了。

List of Resource Attributes

LAST:属性列表结束的标记符。

说明

Web_url根据函数中的URL属性加载对应的URL,不需要上下文。

只有VuGen处于URL-based或者HTML-based(此时A script containing explicit URLs only选项被选中时)的录制模式时,web_url才会被录制到。

可以使用web_url 模拟从FTP服务器上下载文件。web_url 函数会使FTP服务器执行文件被真实下载时的操作。除非手工指定了"FtpAscii=1",下载会以二进制模式完成。

在录制选项中,Toos—Recording Option下,Recording选项中,有一个Advanced HTML选项,可以设置是否录制非HTML资源,只有选择了“Record within the current script step”时,List of Resource Attributes才会被录制到。非HTML资源的例子是gif和jpg图象文件。

通过修改HTTP头可以传递给服务器一些附加的请求信息。使用HTTP头允许请求中包含其他的内容类型(Content_type),象压缩文件一样。还可以只请求特定状态下的web页面。

所有的Web Vusers ,HTTP模式下的WAP Vusers或者回放模式下的Wireless Session Protocol(WSP),都支持web_url函数。

web_image

语法:

Int web_image (const char *StepName, , [EXTRARES, ,] LAST );

返回值

成功时返回LR_PASS (0),失败时返回LR_FAIL (1)。

参数:

StepName:VuGen中树形视图中显示的名称,在自动事务处理中也可以用做事务的名称。

List of Attributes(服务器端和客户端映射的图片):SRC属性是一定会被录制

到的,其他的ALT、Frame、TargetFrame、Ordinal则是有的话会被录制到。

1、ALT:描述图象的元素。用鼠标指向图象时,所浮出来的文字提示。

2、SRC:描述图象的元素,可以是图象的文件名. 如:button.gif。也可以使用SRC/SFX来指定图象路径的后缀。所有拥有相同此后缀的字符串都会被匹配到。

3、Frame:录制操作时所在的Frame的名称。

4、TargetFrame:见List of Attributes的同名参数。

5、Ordinal:参见Web_link的同名参数。

List of Attributes(客户端映射的图片):

1、AreaAlt:鼠标单击区域的ALT属性。

2、AreaOrdinal:鼠标单击区域的顺序号。

3、MapName:图象的映射名。

List of Attributes(服务器端映射的图片):尽管点击坐标不属于属性,但还是以属性的格式来使用。

1、Xcoord:点击图象时的X坐标。

2、Ycoord:点击图象时的Y坐标。

EXTRARES:分隔符,标记下一个参数是资源属性的列表了。

List of Resource Attributes:参见List of Resource Attributes一节。

LAST:属性列表结束的标记符。

说明

web_image模拟鼠标在指定图片上的单击动作。此函数必须在有前置操作的上下文中使用。

在Toos—Recording Option,如果录制级别设为基于HMTL的录制方式时,web_image才会被录制到。

web_image支持客户端(client-side)和服务器端server-side的图片映射。

在录制选项中,Toos—Recording Option下,Recording选项中,有一个Advanced HTML选项,可以设置是否录制非HTML资源,只有选择了“Record within the current script step”时,List of Resource Attributes才会被录制到。非HTML资源的例子是gif和jpg图象文件。

通过修改HTTP头可以传递给服务器一些请求附加信息。使用HTTP头允许请求中包含内容,如同压缩文件一样。还可以只请求特定状态的web页面。

web_image支持Web虚拟用户,不支持WAP虚拟用户。

例子

下面的例子模拟用户单击Home图标以回到主页(黑体部分):

web_url("my_home", "URL=http://my_home/", LAST);

web_link("Employees", "Text=Employees", LAST);

web_image("Home.gif", "SRC=../gifs/Buttons/Home.gif", LAST);

web_link("Library", "Text=Library", LAST);

web_image("Home.gif", "SRC=../../gifs/buttons/Home.gif", LAST);

下面的例子模拟用户在客户端映射的图片上单击:

web_image("dpt_house.gif",

"Src=../gifs/dpt_house.gif",

"MapName=dpt_house",

"AreaOrdinal=4",

LAST);

下面的例子模拟用户在服务端映射的图片上单击:

web_image("The Web Developer's Virtual Library",

"Alt=The Web Developer's Virtual Library",

"Ordinal=1",

"XCoord=91",

"YCoord=17",

LAST);

下面是一个使用文件名后缀的例子:它指定了dpt_house.gif作为后缀,所以象../gifs/dpt_house.gif、/gifs/dpt_house.gif、gifs/dpt_house.gif、/dpt_house.gif 等都会匹配到。

web_image("dpt_house.gif","Src/sfx=dpt_house.gif", LAST);

web_link

语法:

Int web_link (const char *StepName, , [EXTRARES, ,] LAST );

返回值

成功时返回LR_PASS (0),失败时返回LR_FAIL (1)。

参数:

StepName:VuGen中树形视图中显示的名称,在自动事务设置中也被用做事务名称。

List of Attributes:支持下列的属性:

1. Text:超链接中的文字,必须精确匹配。

2. Frame:录制操作时所在的Frame的名称。

3. TargetFrame、ResourceByteLimit:见List of Attributes一节。

4. Ordinal:如果用给出的属性(Attributes)筛选出的元素不唯一,那么VuGen 使用此属性来指定其中的一个。例如:“SRC=abc.gif”,“Ordinal=3”标记的是SRC 的值是“abc.gif”的第3张图片。

EXTRARES:表明下面的参数将会是list of resource attributes了。

LAST:结尾标示符。

说明

模拟鼠标在由若干个属性集合描述的链接上进行单击。此函数必须在前置动作的上下文中才可以执行。

web_link 仅仅在基于HTML的录制方式中才会被VuGen捕捉到。

非HTML生成的资源的例子有.gif 和.jpg图像。对于List of Resource Attributes 参数来说,仅仅当Recording Options--Recording --HTML-based script-- Record within the current script step选项被选中时,它们才会被插入到代码中。

可以通过改变HTTP头信息给服务器传递一些附加信息。使用HTTP头信息可以,允许响应体中包含其他的内容类型(Content-Type),例如压缩文件,或者只有满足了特定的状态才去请求web页。

此函数值支持Web虚拟用户,不支持WAP虚拟用户。

web_submmit_form

语法:

Int web_submit_form (const char *StepName, ,

Hidden Fields>, ITEMDATA, , [ EXTRARES, ,] LAST );

返回值

成功时返回LR_PASS (0),失败时返回LR_FAIL (1)。

参数:

StepName:Form的名字。VuGen中树形视图中显示的名称,在自动事务处理中也可以用做事务的名称。

List of Attributes:支持以下属性:

1. Action:Form中的ACTION属性,指定了完成Form中的操作用到的URL。也可以使用“Action/sfx” 表示使用此后缀的所有Action。

2. Frame:录制操作时所在的Frame的名称。

3. TargetFrame、ResourceByteLimit:见List of Attributes的同名参数。

4. Ordinal:参见Web_link的同名参数。

VuGen通过记录数据域唯一的标识每个Form。如果这样不足以识别Form,VuGen会记录Action 属性。如果还不足以识别,则会记录Ordinal 属性,这种情况下不会记录Action属性。

List of Hidden Fields:补充属性(Serves)。通过此属性可以使用一串隐含域来标识Form。使用下面的格式:

STARTHIDDENS,

"name=n1", "value=v1", ENDITEM,

"name=n2", "value=v2", ENDITEM,

ENDHIDDENS,

List of Data Fields

Data项用来标识form。Form是通过属性和数据来共同识别的。

使用下面的格式来表示数据域列表

"name=n1", "value=v1", ENDITEM,

"name=n2", "value=v2", ENDITEM,

ITEMDATA:Form中数据和属性的分隔符。

EXTRARES:一个分隔符,标记下一个参数是资源属性的列表了。

List of Resource Attributes:参见List of Resource Attributes一节。

LAST:属性列表结束的标记符。

说明

web_submit_form 函数用来提交表单。此函数可能必须在前一个操作的上下文中执行。在Toos—Recording Option,只有录制级别设为基于HMTL的录制方式,web_image才会被录制到。

在录制选项中,Toos—Recording Option下,Recording选项中,有一个Advanced HTML选项,可以设置是否录制非HTML资源,只有选择了“Record within the current script step”时,List of Resource Attributes才会被录制到。非HTML资源的例子是gif和jpg图象文件。

通常情况下,如果录制了web_submit_form 函数,VuGen会把“name”和“value”一起录制到ITEMDATA属性中。如果不想在脚本中以明文显示“value”,可以对它进行加密。把“Value”改为“EncryptedValue”,然后把录制到的值改为加密后的值。

例如:可以把"Name=grpType", "Value=radRoundtrip", ENDITEM

改为:"Name=grpType",

EncryptedValue=409e41ebf102f3036b0549c799be3609", ENDITEM

如果你完整的安装了LoadRunner,那么打开开始菜单--Mercury LoadRunner—Tools--Password Encoder,这个小工具是用来加密字符串的。把需要加密的值粘贴到Password一栏,再点Generate按钮。加密后的字符串会出现在Encoded string框中。接着点Copy按钮,然后把它粘贴到脚本中,覆盖原来显示的“Value”。

加密的另一种方法时使用lr_decrypt函数。方法:选择整个字符串,例如“Value=radRoundtrip”(注意不要选择引号),右击鼠标,选择Encrypt string 选现,脚本会变为:

"Name=grpType",

lr_decrypt("40d176c46f3cf2f5fbfaa806bd1bcee65f0371858163"), ENDITEM, web_submit_form支持Web虚拟用户,不支持WAP虚拟用户。

例子:

下面的例子中,web_submit_form 函数的名字是“employee.exe”。此函数提交了一个请求,此请求包含雇员信息John Green。此函数没有使用属性(Attributes)是因为通过数据项已经能唯一的标识这个Form了。

web_submit_form("employee.exe",

ITEMDATA,

"name=persons", "value=John Green - John", ENDITEM,

"name=go_page", "value=Go to Page", ENDITEM,

LAST);

web_submmit_data

语法:

Int web_submit_data ( const char *StepName, , ITEMDATA, , [ EXTRARES, ,] LAST );

返回值

返回LR_PASS(0)代表成功,LR_FAIL(1)代表失败。

参数:

StepName:步骤名称,VuGen中树形视图显示的名称。

List of Attributes:支持以下属性:

1. Action:Form中的ACTION属性,指定了完成Form中的操作用到的URL。

2. Method:表单提交方法:POST或GET(默认是POST)。

3. EncType:编码方式。

4. EncodeAtSign:是否使用ASCII值对符号“@”编码。Yes或者No。

5. TargetFrame:包含当前链接或资源的Frame。参见List of Attributes的同名参数。

6. Referer、Mode:参见List of Attributes的同名参数。

ITEMDATA:数据域和属性的分隔符。

List of Data:

数据域列表定义了表单提交的内容。由于此请求是上下文无关的,因此数据域包含了所有的隐含域。使用Form的编码规则组织数据域。

数据域列表可以使用下面任意一种格式:

"name=n1", "value=v1", ENDITEM,

"name=n2", "EncryptedValue=qwerty", ENDITEM,

EXTRARES:分隔符,标记下一个参数将是资源属性的列表。

List of Resource Attributes:参见List of Resource Attributes。

LAST:结束标记符。

说明

web_submit_data函数处理无状态或者上下文无关的表单提交。它用来生成表单的GET或POST请求,这些请求与Form自动生成的请求是一样的。发送这些请求时不需要表单上下文。

当VuGen设为基于URL的录制模式,或者基于HTML的录制方式但是Recording Options—HTML Advanced 下的A script containing explicit URLs only 选项被选中时,web_submmit_data函数才会录制到。

不论你采用URL查询的方式(GET),还是采用请求体发送(POST)的方式,此函数都指示出Form中的数据是如何发送到服务器的。

如果VuGen处于HTTP录制模式下,此时记录Web进程时,会产生此函数。在提交Form时,如果无法生成web_submit_form函数,VuGen也会生成

web_submit_data函数。

在录制选项中,Toos—Recording Option下—Recording选项中,有一个Advanced HTML选项,可以设置是否录制非HTML资源。只有选择了“Record within the current script step”时,List of Resource Attributes才会被录制到。非HTML资源的例子是gif和jpg图象文件。

EncType属性给出一个内容类型,指定其做为“Content-Type”请求头的值。它指示了根据参数生成HTTP请求时使用的编码类型(不是URL-encoding就是multi-part)可以是下面的格式:

1. “EncType=application/x-www-form-urlencoded”

2. “EncType=multipart/form-data” (任何的“; boundary=”都会被默认忽略掉)

3. “EncType=” (空串,表明没有产生内容类型(“Content-Type”)请求头)

任何对于“EncType”的指定都会覆盖web_add_[auto_]header函数指定的Content-Type。当省略了“EncType”时,任何一个web_add_[auto_]header函数都会起作用。如果既没有指定EncType也没有web_add_[auto_]header函数,且“Method=POST”,“application/x-www-form-urlen coded”会做为默认值来使用。其他情况下,不会产生Content-Type请求头。

ContentType:文件类型标识符,如果“EncType”是“multipart/form-data”用来上传文件时,需要用到“ContentType”。当在ITEMDATA中的Data子句中指定了“File=Yes”,且文件也在此子句中,ContentType才适用,此时它会作为同一个子句的值来传递。

正常情况下,“Content-Type”根据所上传文件的扩展名自动生成。例如:

7d025e2b16b064e\r\n Content-Disposition: form-data; name="uploaded_file"; filename="D:\\temp\\a.txt"\r\n Content-Type: text/plain\r\n \r\n

无论如何,对于非浏览器的程序来说是特殊的,根据文件类型生成的“ContentType”不一定是正确的。这时,通过手工指定来覆盖默认的“ContentType”。如果指定了空值,那么“Content-Type”头将不包含在文件中。如果没有显示的指定“ContentType”的值,当上传的文件为空时,不管文件扩展

名是什么,都默认使用“application/x-unknown-content-type”做

为”ContentType”的值。

VuGen不会检查指定的ContentType是否有效。

通常情况下,如果录制了web_submit_data 函数,VuGen会把“name”和“value”一起录制到ITEMDATA一节中。如果不想在脚本中以明文显示“value”,可以对它进行加密。把“Value”改为“EncryptedValue”,然后把录制到的值改为加密后的值。请参考web_submit_form中相关的内容。

所有的Web虚拟用户,运行在HTTP模式下的WAP用户,运行在WSP回放模式下的WAP用户都可以使用本函数。

例子

下面的例子中,web_submit_data函数使用POST方法提交了一个表单。web_submit_data("default.aspx",

"Action=http://lazarus/flightnet/default.aspx",

"Method=POST",

"TargetFrame=",

"RecContentType=text/html",

"Referer=http://lazarus/flightnet/",

"Snapshot=t7.inf",

"Mode=HTML",

ITEMDATA,

"Name=grpType", "Value=radRoundtrip", ENDITEM,

"Name=lstDepartingCity", "Value=DEN", ENDITEM,

"Name=lstDestinationCity", "Value=LAX", ENDITEM,

"Name=txtDepartureDate", "Value=8/19/2003", ENDITEM,

"Name=txtReturnDate", "Value=8/19/2003", ENDITEM,

"Name=txtQuantity", "Value=1", ENDITEM,

"Name=radClass", "Value=1", ENDITEM,

"Name=radSeat", "Value=1", ENDITEM,

"Name=btnAvailableFlights", "Value=Next >", ENDITEM,

LAST);

下面的例子,web_submit_data函数使用POST方法提交了2个文件。

web_submit_data("Attachments",

"Action=http://barton.cottage@https://www.doczj.com/doc/9e11199526.html,/Attachments?YY=45434", "Method=POST",

"EncType=multipart/form-data",

"TargetFrame=",

"RecContentType=text/html",

"Referer=http:///barton.cottage@https://www.doczj.com/doc/9e11199526.html,/Compose?YY=20435", "Snapshot=t5.inf",

"Mode=HTML",

ITEMDATA, "Name=userFile0",

"Value=E:\\sense_sensibility\\Elinor.txt",

"File=yes",

"ContentType=text/html", // 覆盖了文本文件默认的“text/plain” 值。

ENDITEM,

"Name=userFile1",

"Value=E:\\sense_sensibility\\Marianne.jpg",

"File=yes",

ENDITEM,

LAST);

web_custom_request

语法:

Int web_custom_request (const char *RequestName, , [EXTRARES, ,] LAST );

返回值

返回LR_PASS(0)代表成功,LR_FAIL(1)代表失败。

参数:

RequestName:步骤的名称,VuGen中树形视图中显示的名称。

List of Attribute:支持的属性有以下几种:

1. URL:页面地址。

2. Method :页面的提交方式,POST或GET。

3. TargetFrame:包含当前链接或资源的frame的名称。参见List of Attributes 的同名参数。

4. EncType:编码类型。

5. RecContentType:响应头的内容类型。参见List of Attributes的同名参数。

6. Referer:参见List of Attributes的同名参数。

7. Body:请求体。参见List of Attributes的同名参数。

8. RAW BODY:参见List of Attributes的同名参数。

9. BodyFilePath:作为请求体传送的文件的路径。它不能与下面的属性一起使用:Body,或者其他Body属性或Raw Body属性包括BodyBinary,BodyUnicode,RAW_BODY_START或Binary=1。

10. Resource、ResourceByteLimit、Snapshot、Mode:参见List of Attributes

的同名参数。

11. ExtraResBaseDir:参见List of Attributes的同名参数。

12. UserAgent:用户代理,它是一个HTTP头的名字,用来标识应用程序,通常是浏览器,它呈现的是用户和服务器的交互。

例如:头信息“User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”识别的是Window NT下的IE浏览器6.0。其他的User-Agent的值用来描述其他的浏览器,或者非浏览器程序。通常,一个应用程序中所有的请求都使用相同的用户代理,录制者作为一个运行时参数来指定(Run-Time Setting—Browser Emulation—User Agent)。不管怎么说,即使是在一个简单的浏览器进程中,仍有可能会用到直接与服务器交互的非浏览器组件(例如ActiveX 控件),通常他们有着不同于浏览器的用户代理属性。指定“UserAgent”表示这是一个非浏览器的请求。指定的字符串被HTTP头“User-Agent:” 使用,在某些情况下,它同时会影响回放脚本时的行为。例如,不使用浏览器缓存,假设指定的URL属于资源等等。

LoadRunner本身不检查指定的字符串与浏览器本身的值是否相同。

13. Binary:“Binary=1”表示页面请求体中的每一个以\\x##形式出现的值(在这里“##”代表2个十六进制数字),都会被替换为单字节的十六进制的值。

如果“Binary=0”(默认值),所有的字符序列只是按照字面的值传递。

需要注意双斜杠的用法。在C编译器中双斜杠被解释为单斜杠。如果不需要零字节,单斜杠可以在Binary不等于1的情况下使用(例如,使用\x20代替\\x20)。如果需要零字节,那么只能使用\\x00且设置“Binary=1”,\x00在逻辑上会被截断。

Loadrunner函数中文解释

2009年09月26日星期六上午 09:49

web_url

语法:

Int Web_url(const char *name, const char * url, , [EXTRARES,,LAST)

返回值

成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。

参数:

Name:VuGen中树形视图中显示的名称,在自动事务处理中也可以用做事务的名称。

url:页面url地址。

List of Attributes

EXTRARES:分隔符,标记下一个参数是资源属性的列表了。

List of Resource Attributes

LAST:属性列表结束的标记符。

说明

Web_url根据函数中的URL属性加载对应的URL,不需要上下文。

只有VuGen处于URL-based或者HTML-based(此时A scrīpt containing explicit URLs only选项被选中时)的录制模式时,web_url才会被录制到。

可以使用web_url 模拟从FTP服务器上下载文件。web_url 函数会使FTP服务器执行文件被真实下载时的操作。除非手工指定了"FtpAscii=1",下载会以二进制模式完成。

在录制选项中,Toos—Recording Option下,Recording选项中,有一个Advanced HTML选项,可以设置是否录制非HTML资源,只有选择了“Record within the current scrīpt step”时,List of Resource Attributes才会被录制到。非HTML资源的例子是gif和jpg图象文件。

通过修改HTTP头可以传递给服务器一些附加的请求信息。使用HTTP头允许请求中包含其他的内容类型(Content_type),象压缩文件一样。还可以只请求特定

状态下的web页面。

所有的Web Vusers ,HTTP模式下的WAP Vusers或者回放模式下的Wireless Session Protocol(WSP),都支持web_url函数。

web_image

语法:

Int web_image (const char *StepName, , [EXTRARES, ,] LAST );

返回值

成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。

参数:

StepName:VuGen中树形视图中显示的名称,在自动事务处理中也可以用做事务的名称。

List of Attributes(服务器端和客户端映射的图片):SRC属性是一定会被录制到的,其他的ALT、Frame、TargetFrame、Ordinal则是有的话会被录制到。

1、ALT:描述图象的元素。用鼠标指向图象时,所浮出来的文字提示。

2、SRC:描述图象的元素,可以是图象的文件名. 如: button.gif。也可以使用SRC/SFX来指定图象路径的后缀。所有拥有相同此后缀的字符串都会被匹配到。

3、Frame:录制操作时所在的Frame的名称。

4、TargetFrame:见List of Attributes的同名参数。

5、Ordinal:参见Web_link的同名参数。

List of Attributes(客户端映射的图片):

1、AreaAlt:鼠标单击区域的ALT属性。

2、AreaOrdinal:鼠标单击区域的顺序号。

3、MapName:图象的映射名。

List of Attributes(服务器端映射的图片):尽管点击坐标不属于属性,但还是以属性的格式来使用。

1、Xcoord:点击图象时的X坐标。

2、Ycoord:点击图象时的Y坐标。

EXTRARES:分隔符,标记下一个参数是资源属性的列表了。

List of Resource Attributes:参见List of Resource Attributes一节。

LAST:属性列表结束的标记符。

说明

web_image模拟鼠标在指定图片上的单击动作。此函数必须在有前置操作的上下文中使用。

在Toos—Recording Option,如果录制级别设为基于HMTL的录制方式时,

web_image才会被录制到。

web_image支持客户端(client-side)和服务器端server-side的图片映射。

在录制选项中,Toos—Recording Option下,Recording选项中,有一个Advanced HTML选项,可以设置是否录制非HTML资源,只有选择了“Record within the current scrīpt step”时,List of Resource Attributes才会被录制到。非HTML资源的例子是gif和jpg图象文件。

通过修改HTTP头可以传递给服务器一些请求附加信息。使用HTTP头允许请求中包含内容,如同压缩文件一样。还可以只请求特定状态的web页面。

web_image支持Web虚拟用户,不支持WAP虚拟用户。

例子

下面的例子模拟用户单击Home图标以回到主页(黑体部分):

web_url("my_home", "URL=http://my_home/", LAST);

web_link("Employees", "Text=Employees", LAST);

web_image("Home.gif", "SRC=../gifs/Buttons/Home.gif", LAST);

web_link("Library", "Text=Library", LAST);

web_image("Home.gif", "SRC=../../gifs/buttons/Home.gif", LAST);

下面的例子模拟用户在客户端映射的图片上单击:

web_image("dpt_house.gif",

"Src=../gifs/dpt_house.gif",

"MapName=dpt_house",

"AreaOrdinal=4",

LAST);

下面的例子模拟用户在服务端映射的图片上单击:

web_image("The Web Developer's Virtual Library",

"Alt=The Web Developer's Virtual Library",

"Ordinal=1",

"XCoord=91",

"YCoord=17",

LAST);

下面是一个使用文件名后缀的例子:它指定了dpt_house.gif作为后缀,所以象../gifs/dpt_house.gif、/gifs/dpt_house.gif、gifs/dpt_house.gif、/dpt_house.gif等都会匹配到。

web_image("dpt_house.gif",

"Src/sfx=dpt_house.gif", LAST);

web_link

语法:

Int web_link (const char *StepName, , [EXTRARES, ,] LAST );

返回值

成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。

参数:

StepName:VuGen中树形视图中显示的名称,在自动事务设置中也被用做事务名称。

List of Attributes:支持下列的属性:

1.Text:超链接中的文字,必须精确匹配。

2.Frame:录制操作时所在的Frame的名称。

3.TargetFrame、ResourceByteLimit:见List of Attributes一节。

4.Ordinal:如果用给出的属性(Attributes)筛选出的元素不唯一,那么VuGen 使用此属性来指定其中的一个。例如:“SRC=abc.gif”,“Ordinal=3”标记的是SRC的值是“abc.gif”的第3张图片。

EXTRARES:表明下面的参数将会是list of resource attributes了。

LAST:结尾标示符。

说明

模拟鼠标在由若干个属性集合描述的链接上进行单击。此函数必须在前置动作的上下文中才可以执行。

web_link 仅仅在基于HTML的录制方式中才会被VuGen捕捉到。

非HTML生成的资源的例子有.gif 和.jpg图像。对于List of Resource Attributes参数来说,仅仅当Recording Options--Recording --HTML-based scrīpt-- Record within the current scrīpt step选项被选中时,它们才会被插入到代码中。

可以通过改变HTTP头信息给服务器传递一些附加信息。使用HTTP头信息可以,允许响应体中包含其他的内容类型(Content-Type),例如压缩文件,或者只有满足了特定的状态才去请求web页。

此函数值支持Web虚拟用户,不支持WAP虚拟用户。

LoadRunner教程(附图)

LoadRunner生成脚本的方式有两种,一种是自己编写手动添加或嵌入源代码;一种是通过LoadRunner提供的录制功能,运行程序自动录制生成脚本。这两种方式各有利弊,但首选还是录制生成脚本,因为它简单且智能化,对于测试初学者来说更加容易操作。但是仅靠着自动录制脚本,可能无法满足用户的复杂要求,这就需要手工添加函数,进行必要的手动关联或在函数中进行参数化来配合,增强脚本的实用性。手写添加增强脚本的独特之处在于: 1.可读性好,流程清晰,检查点截取含义明确。业务级的代码读起来总比协议级代码更容易让人理解,也更容易维护,而且必要时可建立一个脚本库。而录制生成的代码大多没有维护的价值,现炒现卖。 2.手写脚本比录制的脚本更能真实地模拟应用运行。因为录制的脚本是截获了网络包,生成的协议级的代码,而略掉了客户端的处理逻辑。 3.手写脚本比录制脚本更能提高测试人员的技术水平。LoadRunner提供了Java user、VB user、C user等语言类型的脚本,允许用户根据不同的测试要求自定义开发各种语言类型的测试脚本。 增强脚本的好坏关系到这个脚本是否能在实际运行环境中更真实地进行模 拟操作。 至于具体使用哪种方式来生成脚本,还应该以脚本模拟程序的真实有效为准。例如,有些程序只需要执行迭代多次操作,没有特殊要求,选择自动生成的脚本就可以了;有些程序需要加入参数化方可满足用户的要求,此时应该使用增强的手工脚本。再就是结合项目进度、开发难易程度等因素综合考虑。 3.1 插入检查点 在进行Web应用的压力测试时,经常会有页面间数据传递的操作,如果做性能测试时传递次数逐渐增多,页面间就会发生传递混乱的情况,或者客户端与服务端数据传输中断或不正确的现象。为了解决这些问题,LoadRunner提供了在脚本中插入检查点的方法,就是检查Web服务器返回的网页是否正确。在每次脚本运行到此检查点时,自动检查该处的网页是否正确,省去执行结束后人工检查的步骤和时间,进而加快了测试进度。 插入检查点的方法,在工作原理上说就是在VuGen中插入“Text/Image”检查点。这些检查点验证网页上是否存在指定的Text或者Image,还可以测试在比较大的压力测试环境中,被测的网站功能是否保持正确。VuGen在进行Web测试时,有“Tree View”和“Script View”两种视图方式。前面我们见到的一直都是“Script View”,但在插入“Text/Image”检查点时,使用“Tree View”(树视图)视图方式会比较方便。这种视图之间切换,可以通过菜单或者工具栏的方式进行,如图3-1所示。

LoadRunner教程

LoadRunner使用手册 测试中心刘艳会 1 LoadRunner概要介绍 LoadRunner? 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。 目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢,系统崩溃等问题。这些都不可避免地导致公司收益的损失。Mercury Interactive 的 LoadRunner 能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT 资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。 LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。 1.1 轻松创建虚拟用户 使用LoadRunner 的Virtual User Generator,您能很简便地创立起系统负载。该引擎能够生成虚拟用户,以虚拟用户的方式模拟真实用户的业务操作行为。它先记录下业务流程(如下订单或机票预定),然后将其转化为测试脚本。利用虚拟用户,您可以在Windows ,UNIX 或Linux 机器上同时产生成千上万个用户访问。所以LoadRunner能极大的减少负载测试所需的硬件和人力资源。另外,LoadRunner 的TurboLoad 专利技术能提供很高的适应性。TurboLoad 使您可以产生每天几十万名在线用户和数以百万计的点击数的负载。 用Virtual User Generator 建立测试脚本后,您可以对其进行参数化操作,这一操作能让您利用几套不同的实际发生数据来测试您的应用程序,从而反映出本系统的负载能力。以一个订单输入过程为例,参数化操作可将记录中的固定数据,如订单号和客户名称,由可变值来代替。在这些变量内随意输入可能的订单号和客户名,来匹配多个实际用户的操作行为。 LoadRunner 通过它的Data Wizard 来自动实现其测试数据的参数化。Data Wizard 直接

LoadRunner常见问题分析及解决办法

LoadRunner常见问题分析及解决办法 2010-09-23 08:02 在运行脚本回放过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难免会有问题,需要运行脚本进行验证,把问题都解决后才加入到场景中进行负载测试。下面结合常用的协议(如Web、Web Services协议)录制的脚本进行回放时出现的问题介绍一下解决的方法。 需要注意的是,回放脚本时出现的错误有时是程序自身的原因导致的,因此在解决脚本回放问题前必须保证程序录制出的脚本是正确的。 1.LoadRunner超时错误:在录制Web协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。 错误现象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。 错误分析:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner 中修改),客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误。 解决办法:首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在“Runtime Setting”>“Internet Protocol:Preferences”>“Advanced”区域中设置一个“winlnet replay instead of sockets”选项,再回放是否成功。 错误现象 2:Action.c(81):Continuing after Error -27498: Timed out while processing URL=http://172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/ subOrderQuery.do 错误分析:这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。 如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。 解决办法:例如上面的错误现象问题定位在某个URL上,需要再次运行一下场景,同时在其他机器上访问此URL。如果不能访问或时间过长,可能是服务器或者此应用不能支撑如此之大的负载。分析一下服务器,最好对其性能进行优化。 如果再次运行场景后还有超时现象,就要在各种图形中分析一下原因,例如可以查看是否服务器、DNS、网络等方面存在问题。 最后,增加一下运行时的超时设置,在“Run-Time Settings”>“Internet Protocol:Preferences”中,单击“options”,增加“HTTP-request connect

Loadrunner进阶指南

3.9事务 3.9.1响应时间 事务是指用户在客户端做一种或多种业务所需要的操作集,通过事务函数可以标记完成该业务所需要的操作内容;另一方面事务可以用来统计用户操作的响应时间,事务响应时间是通过记录用户请求的开始时间和服务器返回内容到客户时间的差值来计算用户操作响应时间的,如图3.159 所示。 图3.159事务响应时间计算方式这里的响应时间不包含客户端 GUI 时间(例如浏览器解释页面所消耗的 时间)。 前面说响应时间是服务器返回和用户请求发出之间的时间差,那么得到这个时间就够了吗? 例如:现在有一场跑步比赛。当比赛完成后,可以得到每位运动员跑完整个比赛所需要消耗的时间,现在需要分析谁的起跑好、谁的冲刺好,能分析出来吗?答案是不能,虽然得到了最重要的完成比赛的响应时间,但是这对分析和优化几乎没有作用,因为只知道了结果而不知道过程。跑步的时间是由起跑、中途、冲刺等时间组成的,如果想要进行分析优化,必须先了解各个阶段所花费的时间和速度以及各个运动员的优缺点。 对于软件来说,通过事务得到的系统响应时间也是由非常多的部分组成的,一般来说响应时间由网络时间、服务器处理时间、网络延迟三大部分组成。先来看看当一个客户端发出请求到服务器返回需要经历哪些路径,如图3.160所示。

图3.160事务响应时间组成 1.网络时间 客户端发出请求首先通过网络来到Web Server 上(消耗时间为N1);然后Web Server 将处理后的请求发送给App Server (消耗时间为N2);App Server 将操作数据指令发送给Database (消耗时间为N3);Database 服务器将查询结果数据发送回App Server (消耗时间为N4);App Server 将处理后的页面发给Web Server (消耗时间为N5);最后Web Server 将HTML 转发到客户端(消耗时间为N6)。这里的N x 都是网络传输上的时间开销,没有计算业务处理所需要花费的时间。 2.服务器处理时间 另外一个方面还要考虑各个服务器处理所需要的时间WT 、AT 、DT 。 3.网络延迟 除了上面两种时间开销以外,还要考虑网络延迟的问 题。 所以最终的响应时间组成为:响应时间=网络延迟时间+WT+AT+DT + (N1+N2+N3)+(N4+N5+N6)+WT+AT+DT 也可以简单认为响应时间由网络开销(前端)和服务 器端开销(后端)两大部分组成,如图3.161所示。那么这些消耗的时间都花在什么事情上了呢?影响网络的因素一般包括以下内容:1.前端Network ?DNS Lookup ?Time to connect ?Time to first buffer ?Network Time ?Download Time ?SSL handshake ?FTP authentication ?Client Time 图3161事务响应时间组成详解

Loadrunner使用教程

LoadRunner使用教程 1. 了解LoadRunner 1.1 Loadrunner简介 LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢、系统崩溃等问题。这些都不可避免地导致公司收益的损失。Mercury Interactive 的LoadRunner 能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT 资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner 能支持广的协议和技术,为您的特殊环境提供特殊的解决方案。 1.2 为什么应进行自动性能测试? 自动性能测试是一项规,它利用有关产品、人员和过程的信息来减少应用程 序、升级程序或修补程序部署中的风险。自动性能测试的核心原理是通过将生产 时的工作量应用于预部署系统来衡量系统性能和最终用户体验。构造严密的性能 测试可回答如下问题: ?应用程序是否能够很快地响应用户的要求? ?应用程序是否能处理预期的用户负载并具有盈余能力? ?应用程序是否能处理业务所需的事务数量?

LoadRunner错误及解决方法总结

LoadRunner错误及解决方法总结 1. error:missing newline in d:\loadrunner\name.dat 场景执行时报error:missing newline in d:\loadrunner\name.dat 第二次执行不报 两个解决办法: 第一:如果参数不是很多的话,不要打开记事本去编辑参数,就直接在LR提供的参数的表格中进行编辑即可。 第二:如果参数很多超过100条的话。在记事本中编辑好了之后,记着在最后一个参数后打个回车,让鼠标的光标移动到下一行。 2.load generator is currently running the maximum numb er of vuser of this type 使用的是loadrunner8.0,有10000个用户的web的license,global的有10个。在测试的时候发现running vuser到达1000以后就不能再提高,后面的vuser 就会出错。错误是 “The load generator is currently running the maximum number of vuser of this type”. 已经可以排除是load generator机器本身资源的问题。因为换了性能比较强的酷睿2还是同样的问题,CPU和memory都有空闲。 解决办法:在load generator中有一个Vuser limits tab,可以设置running user 的最大数目。即设置load generator----Details------Vuser limits ----Other Vusers 的最大参数。 3. ERROR-26374及ERROR-26377错误no match found for the requested parameter ”Siebel_Analytic_search_id2”.check whether the requested boundaries exist in the response data. 如果初期或脚本单独回放时即出现此错误,则可能是关联问题: 1.首先看下脚本中有没有使用了自动关联(web_reg_save_param) 2.在Virtual的脚本里查询下web_reg_save_param的参数使用位置,然后把这个参数化给还原回来。 如果初期没这个错误,或脚本单独回放时没有问题,而是压力越大错误率越高的话,怀疑是服务器反馈不及时,或反馈信息错误,或丢包了。导致LR没有从反馈信息中得到这个值。 Error -26609: HTTP Status-Code=503 (Service Unavailable) for "https://www.doczj.com/doc/9e11199526.html,:8090/logon.cfm"引起的原因解释: 一、如果出现“Service Unavailable”的提示,刷新几下又可以访问。

Loadrunner 11的使用

一.录制脚本 1.创建一个新的脚本 2.File->New 3.选择协议 LoadRunner支持多种协议,主要是通过类似插件的dll文件实现的,HTTP协议的解析是通过api_http-filter.dll库文件实现的 New Single Protocol Script 新建单协议脚本 指我们所有录制的对象只使用唯一的一种协议 New Multiple Protocol Script 新建多协议脚本 指我们所有录制的对象使用不止一种协议的情况 New Script Recent Protocol 使用最近使用过的协议新建脚本 指我们所有录制的对象使用最近使用过的协议 选中New Single Protocol Script中的Web[HTTP/HTML]协议,点击Create

4.点击Start Record开始录制 Application type应用程序类型 Internet Applications是指我们要录制的对象是一个网络应用(B/S) Win32 Applications是用来支持Win32的标准客户端的(C/S) Program to record要录制的程序:我们需要录制的程序名,Loadrunner默认支持的Web客户端是IE URL Address URL地址:我们录制开始所需要访问的URL地址,也就是我们第一个请求所需要访问的 页面。 Working directory工作目录:用来指定录制后脚本所存储的目录 Record into Action录制到操作:我们录制的内容放在哪个Action中。注:Action是loadRunner提供 的一种类似于函数的脚本块,我们通过将不同的脚本块放在不同的Action中 实现代码的高内聚低耦合 Vuser_init存放LoadRunner中用户的初始化操作

软件测试实验报告LoadRunner的使用

南昌大学软件学院 实验报告 实验名称 LoadRunner的使用 实验地点 实验日期 指导教师 学生班级 学生姓名 学生学号 提交日期 LoadRunner简介: LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。LoadRunner是目前应用最为广泛的性能测试工具之一。 一、实验目的

1. 熟练LoadRunner的工具组成和工具原理。 2. 熟练使用LoadRunner进行Web系统测试和压力负载测试。 3. 掌握LoadRunner测试流程。 二、实验设备 PC机:清华同方电脑 操作系统:windows 7 实用工具:WPS Office,LoadRunner8.0工具,IE9 三、实验内容 (1)、熟悉LoadRunner的工具组成和工具原理 1.LoadRunner工具组成 虚拟用户脚本生成器:捕获最终用户业务流程和创建自动性能测试脚本,即我们在以后说的产生测试脚本; 压力产生器:通过运行虚拟用户产生实际的负载; 用户代理:协调不同负载机上虚拟用户,产生步调一致的虚拟用户;压力调度:根据用户对场景的设置,设置不同脚本的虚拟用户数量;监视系统:监控主要的性能计数器; 压力结果分析工具:本身不能代替分析人员,但是可以辅助测试结果的分析。 2.LoadRunner工具原理 代理(Proxy)是客户端和服务器端之间的中介人,LoadRunner 就是通过代理方式截获客户端和服务器之间交互的数据流。 ①虚拟用户脚本生成器通过代理方式接收客户端发送的数据包,

loadrunner常见错误解决方法

1.Error -27727: Step download timeout (120 seconds)has expired when downloading resource(s). Set the “Resource Page Timeout is a Warning” Run-Time Setting to Yes/No to have this message as a warning/error, respectively 处理方法: Run-Time Setting ------ Internet Protocol ------ Preferences ------Option ------ Step download timeout(sec)改为32000 A、应用服务参数设置太大导致服务器的瓶颈 B、页面中图片太多 C、在程序处理表的时候检查字段太大或多 Error -27728: Step download timeout (120 seconds)的解决方法 语法检查通过,但是在并发执行一个查询时候报错Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)设置了runt time setting中 的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项, 选项后再回放就成功了。 2.Action.c(7): Error -27791: Server “192.168.1.77″ has shut down the connection prematurely 解决方案如下:

《LoadRunner中文使用手册完全版》

LoadRunner操作入门 案例介绍: 测试Tomcat自带的一个jsp提交表单的性能。 测试页面如下: 输入一个数字后,点击提交,执行程序后返回页面:

测试步骤 第一步:录制脚本 从程序菜单中启动“LoadRunner”->“Visual User Generator” 在协议选择框中选择“Web(HTTP/HTML)”协议,进入主界面。 在工具条上选择“Start Record”,弹出启动“Start Recording”对话框。 在URL输入框中输入上述要测试的第一个页面的URL,即输入表单的页面。 同时注意,请让“Record the application startup”选择框失效,以便手工控制录制开始的时间,跳过刚开始的输入页面。 点击“OK”,这是LoadRunner会启动浏览器,并指向第一个输入页面,同时在浏览器窗口上方将出现一个“Recording Suspended…”的工具条窗口。 等待输入页面显示完全以后,点击工具条窗口中的“Record”按钮,进入录制状态,从现在 开始,在打开的浏览器上的所有操作将被录制成测试的脚本。

执行预定的表单提交动作,等结果页面显示完整以后,点击工具条上的黑色方框按钮,停止录制,回到Visual User Generator的主窗口,此时可以看到脚本已经录制成功。 选择“File”->“Save”,把当前的脚本保存下来 第二步:生成测试场景 选择菜单“Tools”->“Create Controller Scenario”,弹出“Create Scenario”对话框,保持缺省值不变,直接点击“OK”,唯一可能需要该的就是测试结果文件生成的路径。 这时,将启动LoadRunner的另一个工具“Controller”,这是执行压力测试的环境。 Controller的主界面有“Design”和“Run”两个Tab组成,可以随时切换,首先进入的是Design界面,在这里可以调整运行场景的各种参数,如果只是作强度测试,唯一需要调整 就是并发用户数,如下图所示:

loadrunner学习入门到精通 常见问题解决方法(七)

第七课LoadRunner常见问题解决方法 一.V uGen的问题 1.使用LoadRunner如何打开不同的浏览器录制? 答:录制时点击Start Record打开录制选择浏览器和地址页面如下图 然后选择要默认打开的浏览器。不设置时,默认打开Internet浏览器。 2.LoadRunner打不开火狐浏览器如何解决? 答:当有一天机器安装了好多浏览器时的时候,我们打不开浏览器怎么办,可以进入浏览器选项,切换到高级标签,去掉“第三方浏览器扩展”选项(去后要重启),然后再次运行vugen即可。 注:使用LoadRunner时要关闭杀毒软件。 3.录制的脚本有乱码如何解决? 答:这是要重新进行录制,但在录制前要在recording options---advanced—surport charset 里选中UTF—8即可。 4.解决在web窗体中有Java script脚本时,不能再tree view视图中显示的方法? 答:将tools—generdl options—correlation—enable scripting and Java applets on snapshots viewer选中即可。 5.录制时的注意事项 (1)脚本中设置了检查点,要选中proforances—checks—enable image and text check 的操作。 (2)集合点要和事务结合使用,集合点只能插入到action部分,vusers_init和vusers_end中不能插入集合点。 6.一些Web虚拟用户脚本录制后立刻回放没有任何问题,但是当设置迭代次数大于1时, 如果进行回放则只能成功迭代一次。为什么从第二次迭代开始发生错误?

LoadRunner通用函数详解(中文)

脚本运行相关 lr_get_vuser_ip 作用 获取虚拟用户IP。 返回值 成功,返回虚拟用户的IP指针; 失败,返回NULL. 参数 无 例子 Action() { char *ip; ip = lr_get_vuser_ip(); if (ip) lr_output_message("The IP address is %s", ip); else lr_output_message("IP spoofing disabled"); } lr_vuser_status_message 作用 该函数将消息发送到消息到vuser状态区域,同时还将该字符串发送到vuser日志返回值 成功,0;

失败,-1说明事务名称非法或者没有调用lr_start_transaction 参数 (格式化输出) 例子 lr_vuser_status_message( "We are on iteration #%s", lr_eval_string( "{iteration}" ) ); lr_continue_on_error 作用 指定错误处理的方法 返回值 无 参数 (int value) 0:取消出错继续执行设置 1:发生错误继续运行脚本 2:发生错误跳至下个Action运行 3:发生错误跳至下一迭代来运行 4:发生错误结束当前用户 例子 //对于夜间执行的场景(一般会打开Continue on error选项)。一些非关键业务,则需要通过lr_continue_on_error (1)开启Continue on error选项,这样即使遇到错误也不会影响脚本的继续执行。但是对于关键业务,就需要关闭该项,使一些关键业务在出错时能够停止执行。//反之,如果在Run-time Settings中没有勾选Continue on error项,则应该通过组合使用lr_continue_on_error (1)与lr_continue_on_error (0)来使一些非关键业务发生错误后继续执行 Action() { …… ……

loadrunner使用步骤说明

一、LoadRunner的下载,安装与破解 .ddooo./softdown/61971.htm https://www.doczj.com/doc/9e11199526.html,/softjc/71256.html// 这是安装篇 二、LoadRunner在Web项目上的使用 1.新建一个Web(HTTP/HTML):File---->new New single Protocol Script :选择一个协议 New Multiple Protocol Script :选择多个协议 New Script recent Protocol :选择最近使用的协议 2.点击Start Record开始录制

Application type :选择程序类型。包含两个选项,Internet Applications 一般指B/S的系统,也就是通过浏览器访问的系统;Win32 Applications 一般C/S 的系统,也就是本地的应用程序,如QQ Program to record :选择启动程序的路径,如果是本地程序(C/S),就找到程序的启动程序。(这个暂时没有使用过) 如果是B/S的体统找到IE浏览器的安装路径。如: C:\Program Files (x86)\Internet Explorer\iexplore.exe 。 默认为Microsoft Internet Explorer,最好手动指定IE浏览器的安装路径。 URL Address :如果是B/S的系统,请输入要访问的网址(如果访问本机,要用127.0.0.1代替localhost,如127.0.0.1:8080/ssh)。如果是C/S则为空。 Working directory :工具目录,也就是分析信息的保存路径。Record into Action :将录制结果放到Action里面 3.点击Options

loadrunner常见问题及解决方法

loadrunner常见问题 1..关于loadrunner11录制脚本时IE打不开问 1、ie浏览器去掉启用第三方浏览器扩展 2、loadrunner11 键盘F4,在browser Emulation点击change,在弹出的提示框中Browser version 选择8.0,platform. 选择windows7 3、loadrunner11 键盘ctrl+F7在弹出的提示框中选择最后一项Correlation,将Enable correlation during recording 下面的勾全去掉,有需要的再勾 4、退出杀毒软件(金山啊360啊什么的都退了) 5、退出迅雷软件 6、计算机——属性——高级系统设置——性能里的设置——数据执行保护——选择“为除下列选定程序之外的所有程序和服务启用”——添加IE浏览器——应用——确定 1.2.controlle打开失败: controller一添加完脚本就崩溃了,报错:试读执行系统不支持的操作;Runtime error!c:\Program Files\hp\LoadRunner\bin\Wlrun.exe abnormal program termination。 解决方案:1.E:\Program Files (x86)\HP\LoadRunner\bin文件下将wlrun.exe文件删除,2.进入“我的电脑”下---控制面板\卸载或更改程序中---右击HP Loadrunner修复。 1.3.设置并发数: User generator tools—create controller scenario—number of vusers 1.4.Loadrunner11安装: 1. 安装完成后,退出loadrunner 2. 把下载的lm70.dll,mlr5lprg.dll 拷贝到../HP/Loadrunner/bin覆盖掉原来的 3. 使用注册表删除工具,点击deletelicense.exe 删除注册表信息 4. 再次打开loadrunner, configuration->loadrunner license->new license,在弹出的输入框中输入license序列号

LoadRunner性能测试指标参考

性能测试指标参考 目录 1术语 (2) 1.1响应时间 (2) 1.2并发用户数 (2) 1.3在线用户数 (2) 1.4吞吐量 (3) 2 Vuser图 (3) 2.1 “运行Vuser ”图(Running Vusers) (3) 2.2 “集合”图(Rendezvous) (3) 3 错误图 (3) 3.1 “每秒错误数(按描述)”图(Error Statistics) (3) 4 事务图 (4) 4.1 “平均事务响应时间”图(Average Transaction Response Time) (4) 4.2“负载下的事务响应时间”图(Running Vuser –Average Transaction Response Time) (4) 4.3“页面细分”图(Web Page Diagnostics图) (5) 4.4“每秒事务数”(Transactions per second 简称:TPS) (6) 5 Web资源图 (6) 5.1“每秒点击次数”图(Hits per Second) (6) 5.2“吞吐量”图(Throughput) (6) 6 系统资源图 (6) 6.1 LoadRunner下监控的UNIX资源指标 (6) 6.1.1平均负载(Average load) (6) 6.1.2 CPU利用率(CPU utilization) (7) 6.1.3 每秒传入的包数(Paging rate) (7) 6.2使用NMON工具监控Linux资源 (7) 6.2.1 系统资源汇总(SYS_SUMM) (7) 6.2.2 磁盘资源汇总(DISK_SUMM) (8) 6.2.3 内存资源(MEM) (8) 7 网络监控器图 (9) 7.1 “网络延迟时间”图(Network Delay Time) (9) 8 数据库服务器资源图 (10) 8.1 Oracle服务器监控度量 (10) 8.1.1 添加Oracle自定义计数器 (11) 8.1.2 性能分析工具Statspack所提供的性能分析指标 (15) 8.2 SQL Server服务器监控度量 (18)

如何对Loadrunner脚本进行参数化

如何对脚本进行参数化 在录制程序运行地过程中,脚本生成器自动生成由函数组成地用户脚本.函数中参数地值就是在录制过程中输入地实际值.参数化是编辑脚本最重要地一部分之一. 对用户脚本进行参数化有两大优点: .可以减少脚本地大小和脚本数量,借助参数化我们可以减少脚本地数量,如果不进行参数化我们为了达到目标可能要拷贝并修改很多个脚本. .可以使用不同地数值来测试你地脚本,使业务更接近真实地客户业务,每个虚拟用户使用不同参数值来模拟这样才接近客户地实际情况. 如何进行参数化: 参数化包含以下两项任务:.参数地创建,即在脚本中用参数取代常量值.. 定义参数地属性以及设置其数据源.值得注意地是,参数化仅可以用于一个函数中地参量.不能用参数表示非函数参数地字符串.另外,不是所有地函数都可以参数化地. 一、参数地创建 创建参数可以指定名称和类型来创建.不存在对脚本中参数个数地限制.在程序地用户脚本中,你可以使用如下过程在基于文本地脚本视图中创建参数.或者,也可以在基于图标地树形视图中创建参数. 通过以下步骤在基于文本地脚本视图中创建一个参数: 、将光标定位在要参数化地字符上,点击右键.打开弹出菜单. 、在弹出菜单中,选择" ".选择或者创建参数地对话框弹出. 、在" "中输入参数地名称,或者选择一个在参数列表中已经存在地参数. 、在" "下拉列表中选择参数类型. 、点击"",关闭该对话框.脚本生成器便会用参数中地值来取代脚本中被参 数化地字符,参数用一对"<>"括住. 注意:在参数化或者用户脚本地时候,必须参数化整个字符串,而不是其中地部分.另外注意:除了或者,缺省地参数括号对于任何脚本都是"<>".你可以在" "对话框中地""标签(> )中定义参数括号种类. 、用同样地参数替换字符地其余情况,选中参数,点击右键,弹出菜单.从弹出地菜单中,选择" ".搜索和替换对话框弹出." "中显示了你企图替换地值." "

LoadRunner性能测试软件的基本使用步骤

LoadRunner性能测试软件的基本使用步骤 一. 1、测试脚本录制 1.1录制前准备工作 在录制脚本前需检查压测环境的整体功能是否正确,待测部分的功能是否正确,只有确定功能正确后才可进行压测。 1.2录制及调试脚本 在准备工作OK后,进行脚本的录制,具体过程如下: 打开“开始>程序>MercuryLoadRunner>MercuryLoadRunner”测试脚本录制; 2、点击“Create/EdirScripts”,也可在“File”下选择New 新建。 3、选择Web(HTTP/HTML)协议,我们测试的是B/S模式,采用的是Web协议,选择后点【OK】按钮。 4、点击界面中的录制按钮,这个表示开始录制脚本点。 录制前,如果已经打开待测页面的话,建议关闭该页面。点【OK】后,同时会出现这表示现在已经开始录制。 5、所有操作完成后,点击中停止按钮,停止录制,页面将自动关闭,返回到loadrunner录制界面,将在界面中显示录制脚本代码,保存录制的脚本。 6、调试代码并进行参数化 录制后的代码需要进行调试才可用于压测,调试的办法就是进行

回放操作,如果回放过程无错误,运行结果也正确的话,则可用于压测。 二.设计测试场景 在脚本录制完成,调试通过后,可以进行测试场景的设计。 1.打开“开始>程序>MercuryLoadRunner >MercuryLoadRunner” 2.点击的RunLoadTests;在新建场景的窗口,选择一种场景类型。 3.选择要进行场景设计的脚本,若没有出现需要对应的脚本,可点击Browse查找后添加进来,选择好脚本后,点add则可加入到右边的窗口中然后点【OK】。 4.显示的是脚本的路径与并发数个数,根据测试方案中的并发 数可更改此处的并发数。 Eg:假如我们设计的场景是每15秒增加2个,所有并发数增加完后持续运行5分钟,5分钟运行结束后,每30秒减少5个并发。 5.再点击页面右下角的“Run-timeSettings” 。 6.一切设置OK后,点击运行测试场景。 三.测试结果分析 1.场景执行结束后可以,使用loadrunner自带的分析工具进行结果分析。 2.在菜单栏中选择打开,找到要分析的场景执行结果,点【打开】即可,还可以直接在场景运行结束后,点击Controller菜单栏

loadrunner录制脚本常见错误

LoadRunner脚本录制常见问题整理 LoadRunner脚本录制常见问题整理 1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。 启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题 提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。因此建议运行LoadRunner得主机上保持一个干净的测试环境。 2.录制Web脚本时,生成的脚本中存在乱码该如何解决? 录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选“Support charset”,然后选择中支持UTF-8。再次录制,就不会出现中文乱码问题了。 3.HTML-based script与URL-based script的脚本有什么区别? 使用“HTML-based script”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;使用“URL-based script”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。 通常,基于浏览器的Web应用会使用“HTML-based script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS安全协议,这时使用“URL-based script”模式进行录制。 4.为什么脚本中添加了检查方法Web-find,但是脚本回放时却没有执行? 由于检查点功能会耗费一定的资源,因此LoadRunner默认关闭了对文本及图像的检查。要想开启检查功能,必须修改运行时的配置Run-time Setting。 进入“Run-time Setting”对话框,依次进入“Internet Protocol→Preferences”,勾选Checks下的“Enable Image and text check”选项即可。 检查执行结果时推荐使用web_reg_find方法。

小布老师对初学LoadRunner朋友的建议

摘要:随着Internet的普及与迅速发展,企业业务量的迅速加大,数据大集中成为一种趋势,IT系统承载的负荷越来越重,系统性能的好坏严重的影响了企业对外提供的服务质量.从而对IT系统的性能进行测试和调优引起企业的重视,进而性能测试工程师成为IT市场的”香悖悖”,并且性能测试有着极高的技术挑战.于是吸引了大量的测试爱好者来学这方面的技术,而一谈到性能测试很多人便会想到鼎鼎大名的Load Runner这款优秀的性能测试工具,然而到这里问题就产生了? Load Runner与性能测试的关系:Load Runner初学者的误点:把Load Runner神化了.很多初学Load Runner的朋友认为掌握了使用Load Runner这款性能测试工具,就能够做性能测试了.常在网上看到好多人在学习怎么去使用这款优秀的性能测试工具,本来学习怎么去使用Load Runner这个工具没有错,却把Load Runner神化了,”天真的”以为它什么都能做,以为学会了Load Runner的使用就能做性能测试了.尽管用了大量的时间学会了如何使用Load Runner录制脚本,如何进行关联,如何进行参数化,如何设置集合点等等?可到头来,性能测试还是不会做.为什么?对于产生的性能报告不知道怎么去分析?不知道如何利用得到的分析报告分析出系统存在的瓶颈?不知道如何进行性能调优?像这些事光会使用Load Runner是做不到的?说白了Load Runner只是我们做性能测试的一个工具,它并不是万能的,是死的,具体怎么做还得依靠人去操作与分析.会使用Load Runner的人,并不一定会做性能测试,会做性能测试的人并不一定都会使用Load Runner。Load Runner只是一个性能测试工具而已.我们应该意识到,测试工具只是性能测试中的一部分,仅是为达到性能测试目的而采用的一种手段 性能测试与系统性能的关系:高性能,高安全的系统,不是测试出来的,而是构架,设计,编写出来的.当然在这里我并不否认性能测试的重要性,甚至可以说没有经过性能测试的系统,一定不会是优秀的系统,软件是人开发出来的,而人总是会出错的,所谓智者千虑,必有一失……要想做好性能测试,在软件系统需求,设计,编写代码的这些阶段就应该进行性能测试,而不仅仅是系统测试这个阶段才去做性能测试,性能测试应该贯穿于整个软件开发周期中. 对初学Load Runner朋友的建意:常看到网上一些网友发贴子问,怎么对性能测试产生的结果进行分析?测试系统时怎么去选择合适的协议?对于发这些贴子的人我想请问你?你能够详细的说下HTTP协议吗?TCP建立连接和释放连接的过程是怎样进行的?什么是协议?协议是用来做什么的?在OSI参考模型中各层的作用?数据库中产生并发的冲突的原因?不要太依赖于Load Runner工具本身的学习,而去忽略计算机其它基础知识的学习,我们更应该去掌握一门编程语言,良好的网络基础知识,计算机原理与操作系统知识,数据库知识.这些是我们去学习怎么去使用Load Runner前提与基础。 1 为什么要掌握一门编程语言 其一,大家在使用Load Runner时常会遇到一些不能录制脚本的情况发生,或者需要录制一些复杂的脚本,这时候我们就必须手动的开发脚本.其二Load Runner虽然强大,易于使用,可是它却属于商业软件,价格昂贵,并且代码不开源,我们无法了解Load Runner具体的实现细节,甚至我们会怀疑Load Runner收集的性能数据准确吗?它又是如何实现的等等,而这些我们通过Load Runner的帮助文档无法得知.性能测试工具并不只有Load Runner,做性能测试还有许多优秀的性能测试工具可以选择,像JMeter,Curl-Loader等等这些非常优秀的开源工具,在全能上虽然并不上Load Runner,但在某些方面却比Load Runner还要强大.例如Curl-Loader 这个工具,它虽然支持的协议不多,但是对于http协议它最高能产生10万的并发用户,这是Load Runner远远所不及的.并且这些工具代码是公开的,我们能够从这些代码中去分析具体实现的细节,并且还可以自已编写代码,增强软件的功能,这也是成为性能测试高手的一条途

相关主题
文本预览
相关文档 最新文档