Web常用函数介绍(LoadRunner相关)
介绍大纲:
1. web_url
2. web_image
3. web_link
4. web_submmit_form
详细介绍:
一. web_url
web_url
语法:
Int Web_url(const char *name, const char * url, <Lists of Attributes>, [EXTRARES,<Lists of Resource Attributes>,LAST)
返回值
成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。
参数:
Name:VuGen中树形视图中显示的名称,在自动事务处理中也可以用做事务的名称。
url:页面url地址。
List of Attributes:(支持下列属性)
1 TargetFrame
2 TargetBrowser or TargetBrowserOrdinal
3 RecContentType - 在录制期间响应的报头文本类型(text/html, application/x- javascript),这是为了确认目标URL是否是可录制的资源。
4 Referer - 要提交页面请求的URL .(获得当前页面,如果明确指出了位置,那么这个属性无效或者忽略。URL中写明了,要获取的页面)
5 Resource - 指定一个值说明这个URL是否是一个资源,0 表示不是资源,1 表示是资源
6 Snapshot - 快照,快照文件名称,用来关联用的。
7 Mode - 录制的等级,是否是HTML或者HTTP模式。
EXTRARES:分隔符,表示下列列表,是由script、active、java applet、flash产生的请求(具体设置在,Recorded options --Recording--选择 html base scritp --- html Reccorded 可以设置是否需要录制这些东西。)。
List of Resource Attributes:下载的资源属性
URL
The URL (Uniform Resource Locator) of the web resource to load
通过URL地址(资源统一定位器)要下载的web资源
Referer
The URL of the referring web page.
发送下载请求的页面。比如一个swf要下载一个图片,那么swf就是referer
ENDITEM
A marker that indicates the end of each resource in the list.
列表中每个资源的结束标志符
LAST:属性列表结束的标记符。
说明
Web_url根据函数中的URL属性加载对应的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函数。
Demo:
Action()
{
web_url("sportssnsapitest",
"URL=http://sportssnsapitest.xiaoyi.com/pt-0.1/",
LAST);
return 0;
}
二. 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=http://www.cnblogs.com/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虚拟用户。
四. web_submmit_form
语法:
Int web_submit_form (const char *StepName, , , 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 scrīpt 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虚拟用户。
以上是loadrunner录制、阅读、编辑、增强脚本时,常用到的。
http://www.cnblogs.com/bayonetxxx/archive/2013/01/15/2860729.html
Web常用函数介绍(LoadRunner相关)的更多相关文章
- [MFC美化] SkinMagic使用详解2- SkinMagic常用函数介绍
SkinMagic常用函数介绍 (1)InitSkinMagicLib函数:初始化SkinMagic int InitSkinMagicLib( //初始化SkinMagic工具库 HINSTANCE ...
- MySQL常用函数介绍
MySQL常用函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.操作符介绍 1>.操作符优先级 mysql; +----------+ | +----------+ ...
- go语言之进阶篇字符串操作常用函数介绍
下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档. 一.字符串操作常用函数介绍 1.Contains func Contains(s, substr st ...
- MySQL 常用函数介绍
MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...
- (转)postgis常用函数介绍(一)
http://blog.csdn.net/gisshixisheng/article/details/47701237 概述: 在进行地理信息系统开发的过程中,常用的空间数据库有esri的sde,po ...
- Python数据分析--Numpy常用函数介绍(2)
摘要:本篇我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.学习读写文件的方法,并尝试函数式编程和NumPy线性代数运算,来学习NumPy的常用函数. ...
- SQL SERVER系统表和常用函数介绍
sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库 字符集与排序顺序sysconfigures 主数据库 配置选项syscurconfigs 主数据库 当前配置选项s ...
- promql 常用函数介绍
Metrics类型 根据不同监控指标之间的差异,Prometheus定义了4中不同的指标类型(metric type):Counter(计数器).Gauge(仪表盘).Histogram(直方图).S ...
- 性能测试基础-开门篇3(LR常用函数介绍)
LR常用的函数,协议不一样函数会不一样,这里简单的介绍下HTTP\WEBSERVICE\SOCKET协议常用函数: HTTP: web_set_max_html_param_len("102 ...
随机推荐
- 基于stm32f103zet6的FAT16文件系统学习1(初识FAT16)
有了之前读写block的基础之后,准备弄个文件系统,之前没有接触过这东西,所以有很多都晕晕的,但是看到fat的源代码之后还是挺有信心的,因为之前一直过uboot,所以这个文件当然是小巫见大巫了.首先来 ...
- 将窗体显示在 PageControl 上
var AWinControl:TPageControl; begin AWinControl := PageControl1; if frmAbout = nil then Exit; frmAbo ...
- SQL Server 2005中的分区表(四):删除(合并)一个分区
在前面我们介绍过如何创建和使用一个分区表,并举了一个例子,将不 同年份的数据放在不同的物理分区表里.具体的分区方式为: 第1个小表:2010-1-1以前的数据(不包含2010-1-1). 第2个小表: ...
- javascript之数组
一.定义数组. 定义数组有两个方法: 1.var arr1 = []; //定义一个空数组 2.var arr2 = [1,2,3,"str1","str2"] ...
- python使用post登陆电子科大信息门户并保存登陆后页面
python使用post登陆电子科大信息门户并保存登陆后页面 作者:vpoet mail:vpoet_sir@163.com #coding=utf-8 import HTMLParser impor ...
- cc150 Chapter 2 | Linked Lists 2.6 Given a circular linked list, implement an algorithm which returns node at the beginning of the loop.
2.6Given a circular linked list, implement an algorithm which returns the node at the beginning of ...
- kindeditor在sae上传文件修改,适合php
kindeditor在sae上传文件修改,适合php 当前位置: 首页 > 论坛 > 经验共享 用户登录 新用户注册 主题: kindeditor在sae上传文件修改,适合ph ...
- ※数据结构※→☆非线性结构(tree)☆============二叉树 顺序存储结构(tree binary sequence)(十九)
二叉树 在计算机科学中,二叉树是每个结点最多有两个子树的有序树.通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree).二叉树常被用作二叉查找树和二叉堆或是 ...
- Android学习总结——SQLite
SQLiteDatabase类: 一.使用sql语句操作数据库 SQLiteDatabase db = openOrCreateDatabase("database.db", MO ...
- 产生冠军(set,map,拓扑结构三种方法)
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...