zoukankan      html  css  js  c++  java
  • 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 ( );

  • 相关阅读:
    Error: unable to load xmlsec-openssl library
    count(1)、count(*)与count(列名)的执行区别
    Linux下的压缩zip,解压缩unzip命令详解及实例
    linux centos 如何查看操作系统版本信息
    These dependencies were not found: *!!vue-style-loader!css-loader?
    Git如何永久删除某个重要文件文件或文件夹 (包括历史记录) 强制
    LDAP的filter查询详解
    详谈mysqldump数据导出的问题
    GO -- 遍历删除 数组 slice
    mjml强大&&灵活的邮件模版引擎
  • 原文地址:https://www.cnblogs.com/mayyan/p/9883535.html
Copyright © 2011-2022 走看看