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 ( );

 

posted on 2018-10-31 15:38  yanmay  阅读(781)  评论(0编辑  收藏  举报

导航