LoadRunner:如何操作web_reg_save_param获取的参数

发表于:2008-10-23 17:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:msnshow    来源:51Testing博客

  web_reg_save_param可以方便的让你从web页面上获取你需要的一些参数,让你的测试脚本更具有交互性.函数的具体使用请参考帮助文档,这里主要说明一下如何操作它获取的参数.

  1.获取单个参数

  看下面例子:

  web_reg_save_param("param","LB/ic="Value=","RB="","ORD=1",LAST);

  上面的语句把页面上发现的第一个值存放到param参数中,当然param和你通常定义的变量是有区别的,它是参数不是变量,这个概念要搞清楚,你不能象下面这样给他赋值:

  char testParam[20];

  sprintf(testParam,"%s",param);

  而应该象下面这样:

  sprintf(testParam,"%s",lr_eval_string("{param}"));

  下面是一个提交随机内容的函数:

  web_submit_form("tpcc.pr.prC_ITEMUpdate.do",

  "Snapshot=t7.inf",

  ITEMDATA,

  "Name=C_ITEM/I_IM_ID", "Value={im_id}", ENDITEM,

  "Name=C_ITEM/I_NAME", "Value={i_name2_value}", ENDITEM,

  "Name=C_ITEM/I_PRICE", "Value=12.11", ENDITEM,

  "Name=C_ITEM/I_DATA", "Value={i_name_value}", ENDITEM,

  LAST);

  上面大括号中的都是参数,你可以生成一些随机字符串提交,更真实的仿真用户操作.当然你也可以整个把"Value={im_id}"用参数替换,当然你的参数得符合"Value=XXXXX"的格式了:

  "Name=C_ITEM/I_IM_ID", "{test_param}", ENDITEM,

  也可以整个把它用变量替换:

  char test_str[]="Value=afadfafa";

  "Name=C_ITEM/I_IM_ID", test_param, ENDITEM,

  注意他们之间的差别

  2.参数数组

  有时候你可能查询回来很多记录,你可能想随机修改其中的某一条,你可以从返回页面获得所有的记录号存放在一个参数数组中:

  web_reg_save_param("param_array","LB/ic="Value=","RB="","ORD=ALL",LAST);

  其中param_array_1代表参数一,param_array_2代表参数二...,获取数组长度可以这样:

  int array_len,rand_id;

  char array_name[20];

  array_len=atoi(lr_eval_string("{param_array_count}");

  随机获取参数:

  srand(time(NULL));

  rand_id=rand()%array_len+1;

  sprintf(array_name,"{param_array_%d}",rand_id);

  lr_save_string(lr_eval_string(array_name),"param_rand");

  这样,你的随机值就存放到param_rand参数中了.

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号