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 ...
随机推荐
- wordpress教程之文章页single.php获取当前文章所属分类
之所以要发这篇文章,是因为这个方法适用于: WP默认文章分类 手动添加的自定文章分类 插件(custom post type ui)添加的自定义文章分类(含taxonomy) 方法目的:在文章模板中, ...
- Qt中事件分发源代码剖析(一共8个步骤,顺序非常清楚:全局的事件过滤器,再传递给目标对象的事件过滤器,最终传递给目标对象)
Qt中事件分发源代码剖析 Qt中事件传递顺序: 在一个应该程序中,会进入一个事件循环,接受系统产生的事件,并且进行分发,这些都是在exec中进行的.下面举例说明: 1)首先看看下面一段示例代码: in ...
- 用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发
快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 本文仅适用于vs20 ...
- Unity 角色复活和重新开始游戏
作者写游戏完成的时候,还需要从新想下如何把游戏设置重新开始,角色如何复活. 一般大多数都会采用这种方式来代替游戏重新开始 Application.LoadLevel("xxx场景" ...
- IOS 打印网络请求全链接
NSMutableString *urlStr = [NSMutableString stringWithFormat:@"%@?",request.URL]; ;i<[pa ...
- 跨服务器的sql使用
由于想从别的服务器上的数据库导入一些数据过来 经网上查阅,得到 select * from openrowset( 'SQLOLEDB', '服务器名字'; '用户名'; '密码',数据库名字.dbo ...
- 理解MVC路由配置(转)
在上一篇文章中,我简短的谈了一下MVC的底层运行机制,如果对MVC还不是很了解的朋友,可以作为入门的参照.接下来,我开始介绍关于URL路由的相关知识.URL路由不是MVC独有的,相反它是独立于MVC而 ...
- React-Native 获取node.js提供的接口
一个简单的React-Native 获取node.js提供的接口的实现 一.node.js var http = require("http"); var url = requir ...
- 2014年2月5日 Oracle ORACLE的工作机制[转]
网上看到一篇描写ORACLE工作机制的文章,觉得很不错!特摘录了下来. ORACLE的工作机制-1 (by xyf_tck) 我们从一个用户请求开始讲,ORACLE的简要的工作机制是怎样的,首 ...
- IOS准备
1.Commond + shift + H 相当于Home键 2.更改项目的名称和icon图标 info.plist文件->bundle name -> 写上工程显示的名字 3.更改ico ...