脚本开发-web_custom_request函数详细介绍

by:授客 QQ1033553122

c语言版本:

int web_custom_request(const char *RequestName, ,

[EXTRARES, ,] LAST );

参数说明:

RequestName            step名称,即请求名。

List of Attributes    属性列表

注意:属性名称大小写敏感

EXTRARES               界定参数,表名接下来的参数将是个资源属性列表

LAST                   表名列表结束的标记

List of Attributes

URL - 统一资源定位器,通常为请求链接地址

Method - 请求方法:POST、GET

TargetFrame - 包含当前链接或资源的frame的名称

EncType - 提交请求使用的编码类型(type of encoding)。EncType指定“Content-Type”请求头的值,比如“text/html”。web_custom_request不处理未编码的请求体。Body参数指定的请求体会使用指定的编码。因此,如果指定的Enctype如果不匹配请求体,可能会引发服务端错误。通常情况下,按照录制所得,不对Enctype进行编辑。

如果指定了“EncType”,那么它将会覆盖web_add_[auto_]header函数指定的Content-Type。如果“EncType=” (空值),不会生成“Content-Type” 请求头;如果省略了“EncType”时,那么使用web_add_[auto_]header函数指定的。如果既没有指定EncType也没使用web_add_[auto_]header函数设定请求头,且“Method=POST”,那么,将使用“application/x-www-form-urlencoded”做为默认值。其他情况下,不会生成Content-Type请求头。

RecContentType - 指定了Content–Type 响应头的类型,比如text/html,application/x-javascript。当没有设置Resource属性时,用它来确定目标URL是否是可录制的资源。

Refer - 指定引用的页面

Body - 请求体

Raw Body - 请求体被当作指向数据的指针来传递

BodyFilePath - 需要作为请求体传递的文件路径,不能和Body一起使用,或者任何Body、Raw Body Attribute的属性: BodyBinary, BodyUnicode, RAW_BODY_STARTBinary=1

Resource - 一个表明URL是否资源的值

Resouce=1,表明URL为一个资源,意味着当前操作与所在脚本的成功与否关系不大。在下载资源时如果发生错误,将当作警告而不是错误来处理的

是否下载URL受“Run-Time Setting—Browser Emulation--Download non-HTML resources” 这个选项的影响。勾选该选项,则不按HTML的形式解析响应信息。

“Resource=0”,表明此URL是重要的,不受发送请求(RTS)的影响,在需要时也会解析它。

ResourceByteLimit - 下载web页面资源的极限大小。当达到设置的极限后,不再下载资源,仅仅对需要下载的资源起作用。

Snapshot - 快照的文件名(.inf为后缀

Mode - 录制级别:HTML、HTTP

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

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

ContentEncoding - 请求使用指定的方法(gzip或者deflate)对请求体进行编码,相应的“Content-Encoding:” HTTP头会随此请求一起发送。仅适用于web_custom_request和web_submit_data。

List of Resource Attributes

list of Attributes由非HTML机制的web页面生成,包含Javascript,Activex,Java applets和Flash请求的资源。VuGen Recording Options中可设置,把这些元素录制在当前脚本step中或者单独的step(查看Recording in HTML–Based Mode)

当录制在当前脚本的step中时,额外的资源被当作参数列出,支持以下资源属性:

URL       需要加载的web资源

Referer   URL引用的web页面

ENDITEM   表示list中,每个资源结束的标记

相比录制每个资源为一个单一的step,按这种模式录制non-HTML元素可以精简脚本,增加可读性。

当遇到一个附加的资源时,例如,一个Javascript,VuGen录制器添加资源到附加资源列表(Resource Attributes参数列表)。当回放脚本时,会请求该资源。如果资源规律性变化,可使用关联函数参数化该资源。

例子:

web_reg_save_param("extrares_11",

"LB/IC=

"RB=\"",

"Ord=11",

LAST );

web_url("web_url",

"URL=http://lazarus/html/links.html",

"TargetFrame=",

"Resource=0",

"Referer=",

"Mode=HTTP",

EXTRARES,

"URL={extrares_11}", ENDITEM,

LAST );

函数使用范围:

支持所有Web脚本,和以HTTP协议或者无线会话协议(WSP,Wireless Session Protocol)运行的WAP脚本

loadrunner 脚本开发-web_custom_request函数详细介绍的更多相关文章

  1. Loadrunner 脚本开发-soap_request函数介绍及WebService接口测试

    脚本开发- soap_request函数介绍及WebService接口测试 by:授客 QQ:1033553122 函数介绍 soap_request 函数执行一个SOAP请求 函数原型 int so ...

  2. loadrunner 脚本开发- web_url函数详解

    脚本开发- web_url函数详解 by:授客 QQ:1033553122   加载指定url的web页面(GET请求) C语言函数 int web_url( const char *StepName ...

  3. Loadrunder脚本篇——web_custom_request函数介绍

    c语言版本: int web_custom_request(const char *RequestName, , [EXTRARES, ,] LAST ); 参数说明: RequestName     ...

  4. loadrunner 脚本开发-参数化之将内容保存为参数、参数数组及参数值获取

    转自:http://blog.sina.com.cn/s/blog_13cc013b50102v49c.html(查看原文) 在VuGen中默认使用{}的字符串称为参数 注意:参数必须在双引号中才能用 ...

  5. Loadrunner脚本开发规范

    Loadrunner脚本开发规范 目录 1.一般约定... 3 2.代码注释约定... 4 3.格式化代码... 5 1.一般约定 1.1具体脚本规则,必须在具体代码中加注释,以便脚本开发人员阅读和理 ...

  6. Signal ()函数详细介绍 Linux函数

    http://blog.csdn.net/ta893115871/article/details/7475095 Signal ()函数详细介绍 Linux函数 signal()函数理解 在<s ...

  7. Signal ()函数详细介绍 Linux函数(转)

    Signal ()函数详细介绍 Linux函数 收藏人:紫火神兵     2012-09-27 | 阅:5659  转:22    |   来源   |  分享               signa ...

  8. python内置函数详细介绍

    知识内容: 1.python内置函数简介 2.python内置函数详细介绍 一.python内置函数简介 python中有很多内置函数,实现了一些基本功能,内置函数的官方介绍文档:    https: ...

  9. Loadrunner 脚本开发-利用web_custom_request函数进行接口测试

    脚本开发-利用web_custom_request函数进行接口测试 by:授客 QQ:1033553122 一.POST + JSON格式参数 例: web_custom_request(" ...

随机推荐

  1. Python全局解释器锁 -- GIL

    首先强调背景: 1.GIL是什么?GIL的全称是Global Interpreter Lock(全局解释器锁),来源是python设计之初的考虑,为了数据安全所做的决定. 2.每个CPU在同一时间只能 ...

  2. 转:TCP为什么要3次握手和4次挥手时等待2MSL、 TCP如何保证消息顺序以及可靠性到达

    关于tcp三次握手.四次挥手可以看这里:TCP与UDP的差别以及TCP三次握手.四次挥手 1.TCP为甚要3次握手? 在谢希仁著<计算机网络>第四版中讲“三次握手”的目的是“为了防止已失效 ...

  3. npm 安装 cannot find module

    window7安装module出现 Connot find module 'xxx' 解决办法: 添加环境变量命名为:NODE_PATH 设置值为:%AppData%\npm\node_modules ...

  4. iis7 bug解决

    只需重新注册下AspNet就可以了,具体步骤如下 1 打开运行,输入cmd进入到命令提示符窗口. 2 进入到C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727 ...

  5. Python做int()强制类型转换的时候,小数是如何取舍的?

    白月黑羽今天给大家分享一个冷知识:) int()强制类型转换小数是如何取舍的? 使用 int() 将小数转换为整数,小数取整会采用比较暴力的截断方式,即小数点后面的会被强制舍去,向下取整. 例如:5. ...

  6. vue实现城市列表选择

    成果展示 最后的成果就是下面所展示的内容,因为gif图没有做,只能截图所展示,接下来,会带着大家一步一步的完成下面功能,脚手架搭建和node安装在本次案例不会讲解,如果了解,可以在我的博客园找到有详细 ...

  7. Visual Studio 2017 取消 break mode

    用 Visual Studio 2017 (以下简称 VS 2017) 运行程序,程序出错后,只是进入中断模式,仅显示 The application is in break mode而没有像 VS ...

  8. Spring事务传播属性介绍(三).Nested

    Required.Required_New传播属性分析传送门:https://www.cnblogs.com/lvbinbin2yujie/p/10259897.html Mandatory.Neve ...

  9. Java设计模式学习记录-原型模式

    前言 最近一直在面试,也没时间写博客了,感觉已经积攒了好多知识想要记录下来了,因为在面试中遇到的没答出来的问题,这就是自己不足的地方,然后就要去学习这部分内容,虽然说自己不足的地方学习了,但是没有应用 ...

  10. 为PartialView传递一个参数

    看这篇之前,得先了解这个<在MVC应用程序中动态加载PartialView>http://www.cnblogs.com/insus/p/3547985.html. 因为是从这篇重构而来. ...