loadrunner脚本技巧:关联函数

上一篇 / 下一篇  2014-02-28 10:22:09 / 个人分类:性能测试

  自认为不是个勤快的人,每每工作完后不知总结,因此丢三落四的。
  今天总结loadrunner脚本技巧,温故而知新吧。
 
  关联函数web_reg_save_param
// web_reg_save_param 是一个注册类型
// 的函数。它注册一个请求,以在检索到的
// 网页中查找并保存一个文本字符串。只有
// 在执行了下一个操作函数(如 web_url)后
// 才会执行该操作。
int web_reg_save_param (const char *ParamName, <List of Attributes>, LAST);
web_reg_save_param("参数名","LB=左边界‘,"RB=右边","Ord=All",LAST);
//当参数有多个值时,加上"Ord=All”后可获取所有的数值。注册成功后,{参数名_count}表示取得的数值个数,{参数名_1}为第一个数值,{参数名_2}为第二个数值。
 
===》关联函数要在执行了下一个操作函数(如 web_url)后才会执行该操作。所以关联函数要写在操作函数之前
 
示例1:
    //要闻
 web_reg_save_param("getid1",
  "LB=id\":\"",
  "RB=\",\"imgUrl",
  "Ord=All",
  LAST);
 web_url("web_url",
  "URL=http://{URL}/web/api/news/importnews/list/1.json?pageSize=2",
  "TargetFrame=",
  "Resource=0",
  "Referer=",
  "Mode=HTML",
  LAST);
 
====》重点关注"Ord=All",该参数作用为指定获取的值。可以为“All”或者1、2、3……等数字。
     "Ord=All”可获取所有的数值。注册成功后,{参数名_count}表示取得的数值个数,{参数名_1}为第一个数值,{参数名_2}为第二个数值。
     "Ord=1”可获取第一个值,获取第2、3……个值依此类推。
 
 
  当我们选择"Ord=All”后,需要随机取值,最大限度模拟用户操作。随机取值就需要用到函数lr_paramarr_random
  lr_paramarr_random("参数值")
 
示例2:
 char * ID1;  //声明变量
    ……
    ……
    ID1 = lr_paramarr_random("getid1");    //随机取值
 lr_output_message("############\n%s\n############", ID1);

    lr_save_string( ID1,"idtmp1" ); // 获取的参数参数化,以备调用
 
示例2还可以进一步简化
示例3
 lr_save_string( lr_paramarr_random("getid2"),"idtmp2" ); // 获取的参数参数化
 
补充部分知识:
//lr_eval_string("{参数名}")/取得参数的数值。可取得已注册参数或DataFile类型参数的数值。
// strcat 连接两个字符串。
char *strcat ( char *to, const char *from );
// strcmp 比较 string1 和 string2 以确定字母排序的次序。
int strcmp ( const char *string1, const char *string2 );
// strcpy 将一个字符串复制给另一个。
char *strcpy ( char *dest, const char *source );
// stricmp 对两个字符串进行不区分大小写的比较。
int stricmp ( const char *string1, const char *string2 );
// strlen 返回字符串的长度(以字节为单位)。
size_t strlen ( const char *string );
// strlwr 将字符串转换为小写。
char *strlwr ( char *string );
 
很多时候响应返回的内容很长,导致我们不能正常获取参数。此时我们需要在脚本前面加上下面的语句
 web_set_max_html_param_len("2560000");
// web_set_max_html_param_len 函数是一个服务函数,用于关联 HTML 语句。
// 仅当启用“在录制过程中关联”时才录制该函数(请参阅 VuGen 的录制选项)。
int web_set_max_html_param_len (const char *length );
 
最后,根据个人经验,web_reg_save_param放在web_submit_data函数前面是无法获得需要的值的。不知道为什么。
 
 

TAG: 性能测试 LoadRunner loadrunner

 

评分:0

我来说两句

日历

« 2024-04-30  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 57252
  • 日志数: 42
  • 图片数: 2
  • 建立时间: 2014-02-19
  • 更新时间: 2014-11-06

RSS订阅

Open Toolbar