51Testing软件测试论坛

标题: 纠结死我的一个参数化问题,不知道大家碰到过没~~~~~~~~~~ [打印本页]

作者: clickers    时间: 2010-10-20 14:20
标题: 纠结死我的一个参数化问题,不知道大家碰到过没~~~~~~~~~~
大家知道web_reg_save_param这个函数,假设函数中参数名称为M,当函数中有参数项ord=all时,这个函数会获取页面中所有符合条件的值存入参数M中,这些值按获取的先后顺序分别为M_1,M_2,M_3……
问题来了,现在我想每次迭代都能顺序获取M_1,M_2,M_3……从而能获取它们里面存的值,这样我又将M参数化为FILE类型P,将M_1,M_2,M_3……放在P中,最后语句的结构就变成{{P}}。
可是在开始的时候能正确获取值,当页面刷新之后,这个值就获取不了了,只能停留在如{M_1}这个阶段,M_1中的值获取不了,求高手正解!!
作者: qzj_test    时间: 2010-10-20 14:25
尖端
作者: clickers    时间: 2010-10-20 14:33
不是很尖端啊~莫沉莫沉
作者: skyzhu    时间: 2010-10-20 14:48
本帖最后由 skyzhu 于 2010-10-20 14:50 编辑

不是这样做的。
每次的迭代你都会 获取 M_1,M_2,M_3 吧, 获取之后,迭代1的使用M_1,迭代2的使用M_2
是这个意思的话
9.X 可以这样,参数化后面的num
xxx = lr_paramarr_idx("M",lr_eval_string("{num}"));
9.X不到的版本:
sprintf(xxx,"{M_%s}",lr_eval_string("{num}"));
num参数设置为 Iteration Number 类型
作者: clickers    时间: 2010-10-20 15:15
嗯,是楼上说的那个意思,不过XXX要怎么使用呢,像下面这样?
web_url("navigation.do",
              "URL=https://192.168.2.160:8443/KTPCS/navigation.do?  kw=LUXOGPPPSPTPXUHGU2FFZ8GGF22L4462&pn={XXX}",
   ……
)
我觉得这样肯定不行吧,估计要用到lr_eval_string,但是这个函数在语句里面是不可执行的啊
作者: skyzhu    时间: 2010-10-20 15:18
本帖最后由 skyzhu 于 2010-10-20 15:20 编辑

xxx只是随便写的个变量而已
要拼接很简单 lr_paramarr_idx("M",lr_eval_string("{num}")) 结果值 用函数lr_save_string先存进临时参数,再用这个参数在后面的url中使用即可

9.X不到的版本就麻烦点,就先要存C变量里了,再用函数lr_save_string
作者: clickers    时间: 2010-10-20 15:29
呵呵,我的是8.X的版本,麻烦不怕,您说的那个临时参数是什么类型的呢?好像除了web_reg_save_param函数得到的参数,其他类型参数在url里就成文本了吧?
作者: skyzhu    时间: 2010-10-20 15:41
char xxx[100];
//    中间web_reg_save_param 获取 M 的ALL
sprintf(xxx,"{M_%s}",lr_eval_string("{num}"));
//     num参数设置为 Iteration Number 类型
lr_save_string(lr_eval_string(xxx),"newM");

web_url("navigation.do",
              "URL=https://192.168.2.160:8443/KTPCS/navigation.do?  kw=LUXOGPPPSPTPXUHGU2FFZ8GGF22L4462&pn={newM}",
   ……
)

只能解释到这里了,后面就自己研究吧
作者: clickers    时间: 2010-10-20 15:43
嗯,多谢楼上的了,获益匪浅




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2