LoadRunner与请求相关的函数


1.web_url() 加载指定的网页(GET请求)

web_url函数是一个操作函数,它可以加载指定的网页(GET请求)。函数web_url

可以加载URL属性指定的URL。函数web_url不需要上下文。

该函数是应用最广泛的一个函数,一般不需要手写,通过LR使用浏览器录制HTTP协议的脚本基本上都是使用该函数与http服务器进行交互。

定义:

int web_url (const char *Name, const char * url, <Lists of Attributes>, [EXTRARES,<Lists of Resource Attributes>,LAST);

参数:

name:请求内容名

url:请求内容地址

List of Attributes:(支持下列属性)

  1.TargetBrowser or TargetBrowserOrdinal

  2.TargetFrame

  3.Resource -指定一个值说明这个URL是否是一个资源,0表示不是资源,1表示是资源

  4.RecContentType-在录制期间响应的报头文本类型(text/html, application/x-JavaScript),这是为了确认目标URL是否是可录制的资源。

  5.Referer -要提交页面请求的URL .(获得当前页面,如果明确指出了位置,那么这个属性无效或者忽略。URL中写明了,要获取的页面)

  6.Snapshot-快照,快照文件名称,用来关联用的。

7.Mode-录制的等级,是否是HTML或者HTTP模式。

List of Resource Attributes:下载的资源属性

1.URL:通过URL地址(资源统一定位器)要下载的web资源

2.Referer:发送下载请求的页面。比如一个swf要下载一个图片,那么swf就是referer

3.ENDITEM:列表中每个资源的结束标志符

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

web_url("favicon.ico",

"URL=http://www.grandcloud.cn/favicon.ico",

"Resource=0",

"RecContentType=text/html",

"Referer=",

"Snapshot=t2.inf",

"Mode=HTML",

LAST);

Example1– 下载游戏

web_url("Games",

"URL=ftp://joe:secret@mygames.com/games/archive/loderunner.exe",

"FtpAscii=1",

LAST );

Example2– 登录到安全站点

web_url("Login",

"URL=https://secure.computing.com/scripts/login.asp?

user=(username)&session={ssid}",

"RecContentType=text/html",//Expected content–type

LAST)

2.web_custom_request

函数是一个操作函数,通过它可以使用任意方法创建自定义HTTP请求或创建正文。默认情况下,VuGen只为无法用其他Web函数解释的请求生成该函数。

这个函数通常是手工编写脚本用的,当与http服务器交互不是通过浏览器进行交互,就会用到该函数,比如基于soap协议的xml格式或者json格式的消息交互。

函数允许使用任何方法或主体创建自定义的HTTP请求,其使用范围更广。
其中,Body中,如果是json类型的,引号需要使用 \ 进行转义。其他类型的,直接跟=后面即可。

定义:

int web_custom_request (const char *RequestName, , [EXTRARES,

Resource Attributes>,] LAST );

web_custom_request("login",

"Url={interface_url}", //使用{}引用参数

"Method=POST", //HTTP方法:POST 或 GET
"Mode=HTTP", //记录模式:HTML 或 HTTP
"EncType=application/json", //编码类型
"RecContentType=application/json", //内容类型
"Body={\"mobile\":\"13900009999\",\"pwd\":\"123456\"}", //请求body
LAST);

web_custom_request("web_custom_request",
"URL=http://www.baidu.com",
"Method=GET",
"TargetFrame=",
"Resource=0",
"Referer=",
"Mode=HTTP",
/* json和键值对数据格式,建议使用web_add_header方法添加Content-Type头 */
//"RecContentType=application/json", //指定请求头的Content-Type,这里是JSON
"EncType=application/json", //指定响应头的Content-Type,这里是JSON
//"EncType=application/x-www-form-urlencoded", //编码类型
"Body={\"Name1\":\"Value1\",\"Name2\":\"Value2\"}",
LAST);

使用web_custom_request发送一个空消息:

web_custom_request("nullmessage",

"Method=POST",

"URL=http://172.16.37.151:8080/web/tr069",

"RecContentType=text/xml",

"Snapshot=t4.inf",

LAST);


3.web_add_header

向后面的web请求函数增加请求头
如果web请求方法中已经设置了相同的头,则优先使用web请求方法中的头,
例如web请求方法中的EncType参数,对应请求头中的Content-Type。
由于下面的方法已经设置了EncType参数,所以这里的设置并没有什么用。
表单直接使用方法自带参数,键值对和json建议使用该方法。
web_add_header("Content-Type",
"application/json; charset=UTF-8");

4.soap_request()

soap_request函数执行一个SOAP请求。它向指定的URL发送SOAP包,并接收服务器响应

除了上面可以使用web_custom_request函数模拟soap消息发送以外,通过soap_request函数也可以模拟soap消息发送。该函数只有在协议选择Web Services的脚本里面才可以使用,它区别于Web(HTTP/HTML)协议,如果选择Web(HTTP/HTML)协议,则需要使用web_custom_request函数。使用Web Services协议的一个好处是可以直接将xml文件导入到脚本当中,而Web(HTTP/HTML)协议不支持导入xml格式文件。但坏处是使用Web Services协议的Vuser属于Global的Vuser,默认的Global Vuser的license只有100,而使用Web(HTTP/HTML)的Web User,则可以达到10000。因此对于soap协议消息交互,还是建议使用Web(HTTP/HTML)协议,手工编写脚本。

定义:

int soap_request (const char *StepName, URL, , LAST]);

soap_request("StepName=SOAP Request",

"URL=http://172.16.37.151:8080/web/tr069",

"SOAPEnvelope="

""

""

"1234"

""

""

""

"0"

""

""

"",

"SOAPAction=",

"ResponseParam=response",

"Snapshot=t1400577097.inf",

LAST);

5.web_link()

web_link函数是一个操作函数,它模拟鼠标单击由属性定义的链接。web_link只能在上一个操作的上下文中执行。

该函数可以通过脚本录制自动生成,对于web页面链接性质的页面元素,就可以使用该函数。比如一个下载链接。

定义:

int web_link (const char *StepName, , [EXTRARES,

Attributes>,] LAST );

例子:

web_link("update.zip",

"Text=update.zip",

LAST);

6.web_cleanup_cookies()

web_cleanup_cookies函数删除脚本使用的所有当前存储的Cookie

定义:

int web_cleanup_cookies ( );

优质内容筛选与推荐>>
1、P2107 小Z的AK计划
2、期待已久的2012年度最佳 jQuery 插件揭晓
3、c#获取项目程序路径方法
4、MDN
5、Unity3D用户手册翻译(与Unity3D圣典同步)—— 优化手机的实用指南 - 未来及高端设备


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号