学习四:web_custom_request()函数
1.语法
Int web_custom_request(const char *RequestName,
2.返回值
返回LR_PASS(0)代表成功,LR_FAIL(1)代表失败。
3.参数:
RequestName:步骤的名称,VuGen中树形视图中显示的名称。
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。
EXTRARES:表明下面的参数将会是List Of Resource Attributes了。Web页面中的非HTML机制产生了资源列表,包含了Javascript, ActiveX, Java applets and Flash所请求的资源。VuGen’s 的Recording 选项中,可以设置把这些资源录制在当前的操作中(默认是此设置)还是作为单独的步骤来录制。
LAST :结尾的标示符。