Load Runner - VuGen Get & Post

性能测试中大部的都是基于HTTP协议的,脚本里的90%都是Get和Post,多数是Get请求。我们用以下两个方法来实现HTTP请求:

Get - web_url()

此函数用来模拟用户请求,它也是在脚本中最常使用的函数之一。
语法:

1
Int Web_url(const char *StepName, const char * url, <Lists of Attributes>, [EXTRARES,<Lists of Resource Attributes>,LAST)

例子:

1
2
3
4
5
6
7
8
9
10
11
12
web_url("Open Login Page",
"URL=http://10.11.2.22/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
EXTRARES,
"URL=/common/login/button.gif", ENDITEM,
"URL=/common/login/main.jpg", ENDITEM,
"URL=/common/login/head_bg.gif", ENDITEM,
LAST);

返回值:
成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。

参数的几点说明:

  1. 最基本的三个参数是StepName,url, LAST,在不能录制的情况下,可以自己用这三个参数写代码。
  2. Resource - 指定一个值说明这个URL是否是一个资源,0 表示非资源,1 表示资源。
  3. RecContentType - 指定接受服务器什么格式文件。
  4. EXTRARES 是由script、active、java applet、flash、CSS产生的请求,在页面上都找不到。
    • 每一个都是一个请求。
    • 加不加额外资源,会影响下载量。
    • 能不能删除此处脚本,取决于是不是全部都是图片或样式的请求,有没有特殊的请求存在。(原则上只要是录制时录下来的,不是无关的内容,就保留下来。)
    • 如果在脚本回放时不想下载图片、样式表等,设置:
      Run-time Setting -> Browser Emulation -> Download non-html resources。只关心业务处理能力,带宽受限时取消此选项。默认是选中的。

Notes: 排错,只关注url部分即可,数据要是有变化的话,要进行参数化。

Post - web_submit_data()

与Get请求的web_url函数相比,多了ITEMDATA。

1
int web_submit_data( const char *StepName, const char *Action, <List of Attributes>, ITEMDATA, <List of data>, [ EXTRARES, <List of Resource Attributes>,] LAST );

例子:

1
2
3
4
5
6
7
8
web_submit_data("start", 
"Action=login.asp",
"Method=POST",
ITEMDATA,
"name=user", "value=yongfeiuall", ENDITEM,
"name=password", "value=yongfeiuall", ENDITEM,
"name=sessionID", "value=20151220", ENDITEM,
LAST);

返回值:
成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。

参数的几点说明:

  1. Action:Form中的ACTION属性,指定了完成Form中的操作用到的URL。
  2. Method:表单提交方法:POST或GET(默认是POST)。
  3. ITEMDATA:数据域和属性的分隔符。
    • List of Data:
      数据域列表定义了表单提交的内容。由于此请求是上下文无关的,因此数据域包含了所有的隐含域。使用Form的编码规则组织数据域。
      数据域列表可以使用下面任意一种格式:
      “name=n1”, “value=v1”, ENDITEM,
      “name=n2”, “EncryptedValue=qwerty”, ENDITEM,
    • 如果要自己写脚本的话,用HTTPWATCH工具,在POST_DATA中可以看到提交对应的参数名和参数值,与脚本一致。

Notes:排错,两个地方:1. Action 2. ITEMDATA提交的数据不合法。

唐胡璐 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
分享创造价值,您的支持将鼓励我继续前行!