共计 3404 个字符,预计需要花费 9 分钟才能阅读完成。
加载指定 url 的 web 页面(GET 申请)
C 语言函数
int web_url(const char StepName, const char url, , [EXTRARES, ,] LAST );
java 语言
int object.url(String stepName, String url, String[] argumentList );
Argument
Description
object
WebApi 类型的对象表达式。对于 Java 和 VB 来说,通常是 Web
StepName
图形脚本中的 step 标签。如果开启了 Automatic Transactions(自动化事务),则它同时也是事物名称。
URL
须要加载的 Web 页面的 URL(Uniform Resource Locator),格局为:”URL=
“。
List of Attributes
属性列表
EXTRARES
划界参数,标识下一个参数将是资源列表.
List of Resource Attributes
资源属性列表
LAST
标识参数列表完结的标记。
web_url 仅在 VuGen 处于 URL-based script 或者勾选 A script containing explicit URLs only 的 HTML-based scripte 模式下被录制。(见 VuGen 的录制选项 Recording Options).
可应用 web_url 模仿从 FTP 服务器下载文件。下载是基于二进制模式实现的,除非指定 ”FtpAscii=1″
non-HTML-generated 资源,如 gif,jmagegs. List of Resource Attributes 仅在录制选项中设置了 Record within the current script step 才会被插入。
函数实用所有 Web 脚本,运行于 HTTP 模式或者无线会话协定 (WSP) 模式的脚本
List of Attributes
FtpAscii – “1”,ASCII 模式下执行 FTP 传输,”0″ for binary mode.
TargetFrame – 蕴含以后连贯、资源的框架名称。
RecContentType – 录制期间响应应头 (RESPONSE header) 内容类型(content–type), 如 text/html, application/x–javascript。用于判断指标 URL 是否为一个可录制资源。
Referer – URL 援用的页面。
Resource – 一个标识 URL 是否是资源的值:
0 – URL is not a resource
1 – the URL is a resource
Snapshot – 快照文件 (inf extension) 的文件名
Mode – 录制级别: HTML or HTTP.
UserAgent – 用户代理头,随申请一起发送。这里不会对该参数是否和运行时设置中射的浏览器 User-Agent 是否统一匹配。.
例子:www.cungun.comweb_url(“www.phpwind.net”,
"URL=http://www.phpwind.net/",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t14.inf",
"Mode=HTML",
EXTRARES,
"Url=/themes/site/link2015/images/common/navBbg.png", ENDITEM,
"Url=/themes/site/link2015/images/common/headbg.png", ENDITEM,
"Url=/themes/site/link2015/images/forum/new.gif", ENDITEM,
"Url=/themes/site/link2015/images/design/mode_h_bg.png", ENDITEM,
"Url=/themes/site/link2015/images/common/search.png", ENDITEM,
"Url=/themes/site/link2015/images/common/nav_cur.png", ENDITEM,
"Url=/themes/site/link2015/images/forum/old.gif", ENDITEM,
"Url=/themes/site/link2015/images/common/nav_hover.png", ENDITEM,
"Url=/themes/site/link2015/images/common/head_icon.png", ENDITEM,
"Url=/res/js/dev/jquery.js?v=20141124", ENDITEM,
"Url=http://c.cnzz.com/core.php?web_id=30051218&t=q", ENDITEM,
"Url=/themes/site/link2015/images/common/core_bg.png", ENDITEM,
"Url=/res/js/dev/pages/common/global.js?v=20141124", ENDITEM,
"Url=/res/js/dev/ui_libs/tabs/tabs.js?v=20141124", ENDITEM,
LAST);
对于 EXTRARES 的阐明:
EXTRARES,
"Url=/themes/site/link2015/images/common/navBbg.png", ENDITEM,
"Url=/themes/site/link2015/images/common/headbg.png", ENDITEM,
"Url=/themes/site/link2015/images/forum/new.gif", ENDITEM,
"Url=/themes/site/link2015/images/design/mode_h_bg.png", ENDITEM,
"Url=/themes/site/link2015/images/common/search.png", ENDITEM,
……
以上这一段内容阐明在载入这个页面时还有其它图片或从属资源须要下载。因为默认的 web_url 或 web_link 函数是应用 HTML Mode 的,所以无论脚本中是否存在 EXTRARES 段,在实现函数的时候都会主动下载该 HTML 对应的所有资源。EXTRARES 段是一种扩大验证机制,验证这些对象是否存在,如果 EXTRARES 中的资源申请并存在申请返回内,那么回放该脚本会比真实情况稍微减少带宽的应用。
扩大:
1)如果 EXTRARES 段中申请的地址和主申请雷同,则不会产生新的流量
2)录制失去的 EXTRARES 不是简略地将图片拆出,而是主申请申请不到的内容,例如 css 中的游戏图片援用或 favicon.ico
3)谬误的 EXTRARES 会产生额定的申请。
在一般脚本开发中为了更好地模仿用户申请,最好别删 EXTRARES 段,多了没啥害处,只是多了一点数据流量,删除了会导致某些主申请申请不到的内容不会被申请。
官网例子:
Example 1 – 发送一个拜访 abc.com 的 HTTP GET 申请。
“TargetFrame=”,
“TargetBrowser=Mercury Technologies”,
“Resource=0”,
“RecContentType=text/html”,
“Snapshot=t1.inf”,
“Mode=HTML”,
LAST );
Example 2 –发送一个带援用页面的申请
web_url(“Hit the Slopes and Save”,
..fm_ski_sale_fall00guest.html”,
“TargetFrame=Main”,
“Resource=0”,
“RecContentType=text/html”,
Dyn_Frame&..main–guest.tmpl”,
“Snapshot=t3.inf”,
“Mode=HTML”,
LAST );
Example 3– 下载一个 ftp 服务器上的游戏
web_url(“Games”,
“FtpAscii=1”,
LAST );
Example 4– 登陆到一个平安站点
web_url(“Login”,
“RecContentType=text/html”, //Expected content–type