欢迎点评,多谢指教……

【LoadRunner函数之二】web_reg_save_parame

上一篇 / 下一篇  2017-05-02 20:07:55 / 个人分类:性能测试

关联(correlation):脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态值,从而向服务器发出正确的请求,这种动态获得服务器响应内容的方法被称作关联。也是把脚本中某些写死的数据,转变成动态的数据。

什么内容需要关联:当脚本中的数据每次回放都发生变化时,并且这个动态数据在后面的请求中需要发送给服务器,那么这个内容需要通过关联来询问服务器,获得该数据的变化结果。例如:

1.登录字符串。带有会话ID或时间戳等动态数据的登录字符串。

2.日期/时间戳。使用日期或时间戳或者其他用户凭据的任意字符串。

3.常见前缀。后跟字符串的常见前缀,如SessionIDCustomerID

 

Ø 【语法】:

int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST);

Ø 【参数说明】:

ParamName:存放得到的动态内容的参数名称

 

Ø list of Attributes:其它属性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。属性值不分大小写

 

Ø Notfound:当在返回信息中找不到要找的内容时应该怎么处理

 

Ø Notfound=error:当在返回信息中找不到要找的内容时,发出一个错误讯息。这是缺省值。

 

Ø Notfound=warning:当在返回信息中找不到要找的内容时,只发出警告,脚本也会继续执行下去不会中断。

 

Ø LB( Left Boundary ) :返回信息的左边界字串。该属性必须有,并且区分大小写。

 

Ø RB( Right Boundary ):返回信息的右边界字串。该属性必须有,并且区分大小写。

 

Ø RelFrameID:相对于URL而言,欲查找的网页的Frame。此属性质可以是All或是数字,该属性可有可无。

 

Ø Search :返回信息的查找范围。可以是HeadersBodyNoresourceAll(缺省)。该属性质可有可无。

 

Ø ORD :说明第几次出现的左边界子串的匹配项才是需要的内容。该属性可有可无,缺省值是1。如为All,则将所有找到的内容储存起来。

 

Ø SaveOffset :当找到匹配项后,从第几个字元开始存储到参数中。该属性不能为负数,缺省值为0

 

Ø SaveLen:当找到匹配项后,偏移量之后的几个字元存储到参数中。缺省值是-1,表示一直到结尾的整个字串都存入参数。

【实例一】

 

char outFlightParam[50];     //关联参数的名称

 

char outFlightParamVal[50]; //关联参数outFlightParam的格式化值

 

/*由于ORD属性设置为“ALL”,因此它将符合左右边界的所有值保存在数组参数。

 

  由于默认航班值为"230;378;11/20/2003 checked >",而我们不需要" checked ",因此将SaveLen属性 

 

  设置为“18”,来限制关联值的长度为18个字符

 

*/

 

    web_reg_save_param("outFlightVal",

 

        "LB=outboundFlight value=", "RB=>",

 

        "ORD=ALL",

 

        "SaveLen=18",

 

        LAST );

 

    web_submit_form("reservations.pl",

 

        "Snapshot=t4.inf",

 

        ITEMDATA,

 

        "Name=depart", "Value=London", ENDITEM,

 

        "Name=departDate", "Value=11/20/2003", ENDITEM,

 

        "Name=arrive", "Value=New York", ENDITEM,

 

        "Name=returnDate", "Value=11/21/2003", ENDITEM,

 

        "Name=numPassengers", "Value=1", ENDITEM,

 

        "Name=roundtrip", "Value=<OFF>", ENDITEM,

 

        "Name=seatPref", "Value=None", ENDITEM,

 

        "Name=seatType", "Value=Coach", ENDITEM,

 

        "Name=findFlights.x", "Value=83", ENDITEM,

 

        "Name=findFlights.y", "Value=16", ENDITEM,

 

        LAST );

 

/*

 

The result of the web_reg_save_param having been called before the web_submit_form. is:

 

Notify: Saving Parameter "outFlightVal_1 = 230;378;11/20/2003"

 

Notify: Saving Parameter "outFlightVal_2 = 231;337;11/20/2003"

 

Notify: Saving Parameter "outFlightVal_3 = 232;357;11/20/2003"

 

Notify: Saving Parameter "outFlightVal_4 = 233;309;11/20/2003"

 

Notify: Saving Parameter "outFlightVal_count = 4"

 

*/


TAG:

 

评分:0

我来说两句

日历

« 2024-04-26  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 29803
  • 日志数: 14
  • 建立时间: 2017-03-29
  • 更新时间: 2017-07-09

RSS订阅

Open Toolbar