51Testing软件测试论坛
标题:
参数化问题急待解决!!!!
[打印本页]
作者:
duola1119
时间:
2007-3-26 13:41
标题:
参数化问题急待解决!!!!
/*ÇóµÃtaskidµÄ×ÜÊý*/
action{
int i,count;
char taskid[1024];
char str[256];
char data[256];
---
---
---
web_reg_save_param("ID",
"LB=javascript:openTaskWindow('",
"RB=')",
"Ord=ALL",
LAST);
---
---
---
count=atoi(lr_eval_string("{ID_count}"));
for(i=1;i<count;i++)
{
sprintf(taskid,"{ID_%d}",i);
}
lr_output_message("aaa=%s",lr_eval_string(taskid));
web_url("taskdetail.do",
"URL=http://192.168.0.135:8888/usertasks/taskdetail.do?fromMonitoringList=true&taskid=82",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t4.inf",
"Mode=HTML",
LAST);
怎样将lr_output_message()输出的值来参数化82.
作者:
Zee
时间:
2007-3-26 13:48
我的理解是这样的,你是关联后,然后把关联取到的值来替换82,那我想知道为什么你一定要先赋值给一个数组,然后再用数组里的值来替换82,直接用关联的变量不就完了嘛,
你这样做不是绕了一圈吗?没有必要。
作者:
duola1119
时间:
2007-3-26 14:04
代码中有很多个想这样的数.所以我就用数组将他们全部存起来了.
假如只取一个的话应该就不完整了吧.
作者:
duola1119
时间:
2007-3-26 14:09
我把web_reg_save_param()里的Ord=ALL.去掉,然后把82用ID参数化,但是执行后还是不成功.
作者:
ppent
时间:
2007-3-26 14:27
你用web_reg_save_param获取并存到ID的值有多个,而你只想把其中某个作为请求参数吧?
如果是的话,那你直接用对应的参数体会82就行了啊。
URL=http://192.168.0.135:8888/usertasks/taskdetail.do?fromMonitoringList=true&taskid="{ID_2}" //用第二个参数替换
作者:
duola1119
时间:
2007-3-26 14:35
标题:
回复 #5 ppent 的帖子
我要是这样写也可以,但是那ID_1.ID_3.ID_4...等等.其他的我怎么去弄呢?
我是想通过LR能够自动来把这些ID_N的工作流统统接管.而不能只接管一个呀.
作者:
duola1119
时间:
2007-3-26 14:43
PPent 快帮我想想啊..我都急死了.QQ怎么没见你上啊.
作者:
QM
时间:
2007-3-26 14:46
没明白你的意思啊。
你的ID_1.ID_3.ID_4...等等是要放在那里关联的?
你那脚本里面只有一个地方关联。
如果多处关联稳妥一点就使用多个web_reg_save_param吧。
[
本帖最后由 QM 于 2007-3-26 14:51 编辑
]
作者:
QM
时间:
2007-3-26 14:47
另外,建议加上关联失败的处理:
int result ;
result = web_reg_save_param()
if ( result != 0 ){}
作者:
duola1119
时间:
2007-3-26 14:54
关联已经成功了.只是关联的数据比较多.所以我用一个数组把数据存起来了.
现在难就难在存储在数组中的数据,怎么样才能依依的拿出来参数化变量.
不知道这个地方该怎么写.
作者:
QM
时间:
2007-3-26 15:07
你是一次全部使用?还是第一次迭代用1,第二次用2...等等
如果是第二种情况可以尝试:
web_reg_save_param("ID",
"LB=javascript:openTaskWindow('",
"RB=')",
"Ord={param}", //ord这样设置。取值从1开始的参数化就不用说了吧。
LAST);
lr_save_string( lr_eval_string("{ID}"),"param_ID" );
URL=http://192.168.0.135:8888/usertasks/taskdetail.do?fromMonitoringList=true&taskid="{param_ID}"
这样。
作者:
duola1119
时间:
2007-3-26 15:24
你的意思是我每执行一次就把Ord={param}.改为Ord=1....N.是吗?
作者:
duola1119
时间:
2007-3-26 15:35
问题已解决谢谢你们!~
我是这样改的.Ord=ALL不变.
在下面加上这样一句.
count=atoi(lr_eval_string("{ID_count}"));
for(i=1;i<count;i++)
{
sprintf(taskid,"{ID_%d}",i);
}
lr_output_message("aaa=%s",lr_eval_string(taskid));
lr_save_string(lr_eval_string(taskid),"param_ID");
得用lr_save_string()函数.这个param_ID才能够用来参数化变量.
多谢大家的关注.
作者:
bingbingyang11
时间:
2007-3-29 17:38
不错,学习拉
作者:
ppent
时间:
2007-3-29 20:46
标题:
回复 #13 duola1119 的帖子
呵呵,恭喜你又解决了一个问题。
不错
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2