loadrunner之 学习四:web_custom_request()函数

来源:互联网 发布:unity 特效贴图优化 编辑:程序博客网 时间:2024/04/30 11:49

学习四:web_custom_request()函数

1.语法

Int web_custom_request(const char *RequestName,

2.返回值

返回LR_PASS(0)代表成功,LR_FAIL(1)代表失败。

3.参数:

  1. RequestName:步骤的名称,VuGen中树形视图中显示的名称。

  2. List of Attribute:属性列表,支持的属性有以下几种:

    • URL:页面地址。

    • Method:页面的提交方式,POST、GET、PATCH、PUT等。

    • TargetFrame:当前链接或资源所在Frame的名称。除了Frame的名字,还可以指定下面的参数:

      _BLANK:打开一个空窗口。

      _PARENT:把最新更改过的的Frame替换为它的上级。

      _SELF:替换最新更改过的的Frame。

      _TOP:替换整个页面。

    • EncType:编码类型。此参数给出一个内容类型(Content-Type),指定其做为回放脚本时“Content-Type”请求头的值,例如 “text/html”。Web_custom_request函数不处理未编码的请求体。请求体参数将会使用已经指定的编码方式。因此,如果指定了不匹配HTTP请求体的“EncType”,会引发服务端的错误。通常我们建议不要手动修改录制时的“EncType”值。任何对于“EncType”的指定都会覆盖web_add_[auto_]header函数指定的Content-Type。当指定了“EncType=” (空值)时,不会产生“Content-Type” 请求头。当省略了“EncType”时,任何一个web_add_[auto_]header函数都会起作用。如果既没有指定EncType也没有web_add_[auto_]header函数,且“Method=POST”,且“Method=POST”,“application/x-www-form-urlencoded”会做为默认值来使用。其他情况下,不会产生Content-Type请求头。

    • RecContentType:响应头的内容类型。录制脚本时响应头的内容类型。例如text/html、 application/x-javascript等。当没有设置Resource属性时,用它来确定目标URL是否是可记录的资源。此属性包含主要的和次要的资源。最频繁使用的类型是 text、application、image。次要的类型根据资源不同变化很多。例如:”RecContentType=text/html”:表示html文本。”RecContentType=application/msword”:表示当前使用的是Msword。

    • Referer:当前页面关联的页面。如果已经显式指定了url的地址,此项可以省略。

    • Body(目前仅适用与web_custom_request函数):请求体。不同的应用中,请求体分别通过Body、BodyBinary或者BodyUnicode参数来传递。请求体可以只使用其中一个参数,也可以使用一连串的分开的参数组成多请求体。

    • RAW BODY(目前仅适用与web_custom_request函数):请求体是作为指针传递的,此指针指向一串数据。 二进制的请求体可以使用BodyBinary 属性来发送(或者使用Body 属性来传递,前提是必须设置”Binary=1” )。无论如何,这种方法需要使用转义字符反斜杠把不可打印的字符转换为ASCII字符。为了能有一种更简便的表现原始数据的方式,Raw Body属性应运而生,可以传递指向二进制数据的指针。

    • BodyFilePath:作为请求体传送的文件的路径。它不能与下面的属性一起使用:Body,或者其他Body属性或Raw Body属性包括BodyBinary,BodyUnicode,RAW_BODY_START或Binary=1。

    • Resource、ResourceByteLimit、Snapshot:不详述。

    • Mode:两种录制级别HTML、HTTP。

      HTML级别:在当前Web界面上录制直观的HTML动作。以一步步的web_url、web_link、web_image、web_submit_form来录制这些动作。VuGen仅仅录制返回HTML页面的请求,不处理脚本和应用程序。

      HTTP级别:VuGen把所有的请求录制为web_url指令,不生成web_link、web_image、web_submit_form这些函数。这种方法更为灵活,但是生成的脚本不够直观。

    • ExtraResBaseDir:不详述。

    • UserAgent:用户代理,它是一个HTTP头的名字,用来标识应用程序,通常是浏览器,它呈现的是用户和服务器的交互。LoadRunner本身不检查指定的字符串与浏览器本身的值是否相同。

    • ContentEncoding:指定请求体的使用指定的方式(gzip或者deflate)进行编码(例如,压缩),相应的“Content-Encoding:” HTTP头会和此请求一起发送。这个参数适用于web_custom_request和web_submit_data。

  3. EXTRARES:表明下面的参数将会是List Of Resource Attributes了。Web页面中的非HTML机制产生了资源列表,包含了Javascript, ActiveX, Java applets and Flash所请求的资源。VuGen’s 的Recording 选项中,可以设置把这些资源录制在当前的操作中(默认是此设置)还是作为单独的步骤来录制。

  4. LAST :结尾的标示符。

参考资源

Loadrunner模拟JSON接口请求进行测试

Loadrunner中web-custom-request()方法的说明

0 0
原创粉丝点击