Loadrunder脚本篇——web_custom_request函数介绍
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_START 或 Binary=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=loadrunner <wbr> 脚本开发-web_custom_requests函数详细介绍”
"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脚本
Loadrunder脚本篇——web_custom_request函数介绍的更多相关文章
- Loadrunder脚本篇——web_custom_request做接口测试
一.POST + JSON格式参数 例: web_custom_request("create", "URL=http://xxx.xxx.x.xx:1600/ditui ...
- loadrunner 脚本开发-web_custom_request函数详细介绍
脚本开发-web_custom_request函数详细介绍 by:授客 QQ:1033553122 c语言版本: int web_custom_request(const char *RequestN ...
- Loadrunner 脚本开发-soap_request函数介绍及WebService接口测试
脚本开发- soap_request函数介绍及WebService接口测试 by:授客 QQ:1033553122 函数介绍 soap_request 函数执行一个SOAP请求 函数原型 int so ...
- Loadrunder脚本篇——webservice接口测试(一)
函数介绍 soap_request 函数执行一个SOAP请求 函数原型 int soap_request( const char *StepName, ExpectedResponse, URL, , ...
- Loadrunder脚本篇——web_submit_data实现提交post请求
概述 web_link()和web_url()函数都是页面访问型函数,实现HTTP请求中的GET方法,如果需要实现POST方法,可使用web_submit_form或web_submit_data() ...
- Loadrunder脚本篇——Run-time Settings之Miscellaneous
作用说明 提供混杂设置,如错误处理,多线程,自动化事务设置等 注意:仅对指定协议有效 Error Handling Continue on Error 开启后,在VuGen中,如脚本中某个函数出错 ...
- Loadrunder脚本篇——关联数组(参数数组)
导言 前面说过可以用关联取出服务器相关的一些动态变化的信息,前面也提过web_reg_save_param中可以设置ord=all,代表从服务器中取出的是一个数组,它试用的场景是当我访问一个发帖网站, ...
- loadrunder脚本篇——执行操作系统命令
思路: 用loadrunner system()函数 函数原型: int system( const char *string ); 示例一:在指定目录下创建指定文件 Action() { char ...
- Loadrunder脚本篇——文件下载
下载简介 对 HTTP协议来说,无论是下载文件或者请求页面,对客户端来说,都只是发出一个GET请求,并不会记录点击后的“保存”.“另存为操作”. 如下,点击页面中tar.gz压缩包,用工具可以清楚的看 ...
随机推荐
- python 中property函数如何实现
实际上,在python中property(fget,fset,fdel,doc)函数不是一个真正的函数,他其实是拥有很多特殊方法的类. 这特殊类总的很多方法完成了property函数中的所有工作,涉及 ...
- 创建一个动作-Action类:
让我们创建一个Java文件HelloWorldAction.java的Java资源> SRC下一个的包名com.yiibai.struts2与下面的内容. package com.yiibai. ...
- 在MathType中输入罗马数字的方法
MathType作为数学公式编辑器的编辑功能非常的强大,其中包含了许许多多各种各样的数学符号,甚至标记符号也很全面.编辑公式时有时为了让公式看起来会更有条理,会进行一定的序号设置,当然也可以对公式进行 ...
- Git安装部署
1.1 最新git源码下载地址 https://github.com/git/git/releases https://www.kernel.org/pub/software/scm/git/ 1.2 ...
- 二、Android应用的界面编程(七)ViewAnimator及其子类[ ViewSwitcher、ImageSwitcher、TextSwitcher、ViewFlipper ]
ViewAnimator是一个基类,它继承了FrameLayout.因此它表现出FrameLayout的特征,可以将多个View组“叠”在一起. ViewAnimator可以在View切换时表现出动画 ...
- socket listen/accept
listen函数 摘要:listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程.在TCP服务器编程中listen函数把进程变为一个服务器,并指定 ...
- 【BZOJ3209】花神的数论题 数位DP
[BZOJ3209]花神的数论题 Description 背景众所周知,花神多年来凭借无边的神力狂虐各大 OJ.OI.CF.TC …… 当然也包括 CH 啦.描述话说花神这天又来讲课了.课后照例有超级 ...
- ST表(离线RMQ)
离线RAQ时,预处理为O(n*lgn),查询为O(1)的算法,比较有意思的一种算法 放个模板在这可以随时看 //ST表(离线) //预处理 O(n*lgn) , 查询 O(1) #include &l ...
- C#访问修饰符比较
- Xamarin.Forms学习之Platform-specific API和文件操作
这篇文章的分享原由是由于上篇关于Properties的保存不了,调用SavePropertiesAsync()方法也不行,所以我希望通过操作文件的方式保存我的需要的数据,然后我看了一下电子书中的第二十 ...