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参数中了.