web_url()--常用函数
加载指定的网页(GET请求)。
intweb_url( const char *StepName, const char *url, <List of Attributes>,[EXTRARES, <List of Resource Attributes>,] LAST );
参数说明:
object:评估到类型为WebApi的对象的表达式。通常是web for Java和Visual Basic。另请参见函数和常量前缀。
StepName:图形脚本中步骤的标签。也用作自动事务的事务名称。
URL:要加载的网页的URL(统一资源定位符)。格式为“URL = <address>”。
Listof Attributes:请参见本节中的以下内容:属性列表
EXTRARES:一个分界参数,指示下一个参数将是资源属性列表。
Listof Resource Attributes:资源属性列表
LAST:指示参数列表结束的标记。
一般信息 :
web_url函数是加载由URL参数指定的Web页面(GET请求)的动作函数。web_url函数不需要上下文。
web_url仅在VuGen处于基于URL的记录模式或基于HTML的记录模式时记录,其中A脚本仅包含显式URL选项(参见VuGen的记录选项)。
您可以使用web_url模拟从FTP服务器下载文件。 web_url函数使服务器执行与文件实际下载时相同的任务。除非指定了“FtpAscii= 1”,否则下载以二进制模式完成。
非HTML生成的资源的示例是.gif和.jpg图像。仅当在当前脚本步骤中将这些资源的记录选项设置为Record时,才会插入资源属性列表。这是默认设置。请参阅“HP LoadRunner虚拟用户生成器用户指南”。
可以修改HTTP头以将关于请求的附加信息传递到服务器。使用HTTP标头,您可以(例如)允许响应中的其他内容类型(例如压缩文件),或者您只能在特定条件下请求网页。要修改请求中的HTTP头,请参阅web_add_header。要修改所有后续请求,请参阅web_add_auto_header。
所有Web脚本以及以HTTP模式或无线会话协议(WSP)重放模式运行的WAP脚本支持此功能。
List of Attributes(属性列表)
FtpAscii- “1”在ASCII模式下执行FTP传输,“0”用于二进制模式。
TargetFrame- 包含当前链接或资源的帧的名称。点击这里了解更多信息。
RecContentType- 记录期间RESPONSE标头的内容类型,例如,text / html,application / x-javascript。它被读取以确定目标URL是否是可记录资源。点击这里了解更多信息。
Referer- 引用网页的URL。点击这里了解更多信息。
Resource- 指示URL是否是资源的值:
0 -该URL不是资源
1 -URL是资源
ResourceByteLimit- 点击此处了解更多信息。
Snapshot- 用于关联的快照文件的文件名(inf扩展名)。
Mode- 录制级别:HTML或HTTP。点击这里了解更多信息。
UserAgent- 标识将执行该步骤的浏览器以外的组件,例如,在浏览器下运行的ActiveX组件。将为该步骤发出的请求发送此用户代理标头。不进行检查以确认用户代理参数与浏览器的用户代理运行时设置匹配。非浏览器步骤不会影响模拟的浏览器上下文,也不会从结果中创建新的上下文。
Example:web_url
Example1 –向ABC的主页发送HTTP GET请求
web_url("www.abc.com",
"URL=http://www.abc.com/",
"TargetFrame=",
"TargetBrowser=MercuryTechnologies",
"Resource=0",
"RecContentType=text/html",
"Snapshot=t1.inf",
"Mode=HTML",
LAST );
Example2 –发送带有引荐来源网页的HTTP请求
web_url("Hitthe Slopes and Save",
"URL=http://www.saleserver.com/American?BV_EngineID=
..fm_ski_sale_fall00guest.html",
"TargetFrame=Main",
"Resource=0",
"RecContentType=text/html",
"Referer=http://www.saleserver.com/American?BV_Operation=
Dyn_Frame&..main–guest.tmpl",
"Snapshot=t3.inf",
"Mode=HTML",
LAST );
Example3– 下载游戏
web_url("Games",
"URL=ftp://joe:secret@mygames.com/games/archive/loderunner.exe",
"FtpAscii=1",
LAST );
Example4– 登录到安全站点
web_url("Login",
"URL=https://secure.computing.com/scripts/login.asp?
user=(username)&session={ssid}",
"RecContentType=text/html",//Expected content–type
LAST)
在实际的使用过程中,很多使用者就会问Extrares后面的资源列表信息是否需要呢?
我们可以尝试一下加载Extrares后面的资源类别信息和不加载Extrares后面的资源类别信息进行对比,其结果如下:
1、web_url语法:
Int Web_url(
const char *name,
const char * url,
<Lists of Attributes>,
[EXTRARES,<Lists of Resource Attributes>,LAST);
List of Attributes:(支持下列属性)
1TargetFrame
2TargetBrowser or TargetBrowserOrdinal
3RecContentType - 在录制期间响应的报头文本类型(text/html,application/x- javascript),这是为了确认目标URL是否是可录制的资源。
4Referer - 要提交页面请求的URL .(获得当前页面,如果明确指出了位置,那么这个属性无效或者忽略。URL中写明了,要获取的页面)
5Resource - 指定一个值说明这个URL是否是一个资源,0 表示不是资源,1 表示是资源
6Snapshot - 快照,快照文件名称,用来关联用的。
7 Mode - 录制的等级,是否是HTML或者HTTP模式。
List of Resource Attributes:下载的资源属性
1 URL:通过URL地址(资源统一定位器)要下载的web资源
2Referer :发送下载请求的页面。比如一个swf要下载一个图片,那么swf就是referer
3ENDITEM :列表中每个资源的结束标志符
返回值:成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。
EXTRARES后的资源是由script、active、java applet、flash、CSS产生的请求。
2、试验,录制完脚本,其中某一个http请求的代码如下:
web_url("192.168.0.11",
"URL=http://192.168.0.11/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t17.inf",
"Mode=HTML",
EXTRARES,
"Url=/img/blue_top.gif", ENDITEM,
"Url=/img/side.gif", ENDITEM,
"Url=/img/blue_links.gif", ENDITEM,
LAST);
通过查找可以知道Extrares后的三张图片都是在一个CSS文件中。
回放结果及去掉extrares后的三张图片,再回放,可以知道:
没有去掉,loadrunner是会下载这三张图片的,再去掉后,就不会下载这三张图片,也就是说没有给服务器造成压力。