51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4291|回复: 14
打印 上一主题 下一主题

[原创] 请问web_reg_save_param这个函数还需要在参数列表中加入一个对应的参数吗?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-8-7 11:46:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
web_reg_save_param( "WCSParam_Diff1", "LB= value=\"", "RB=\"", "Ord=32", "Search=Body", "RelFrameId=1", LAST );

//lr_output_message(lr_eval_string("WCSParam_Diff1"));
lr_log_message("getvalue : %s",lr_eval_string ("{WCSParam_Diff1}"));

我这段代码输出是:
LxNew.c(3): Registering web_reg_save_param was successful          [MsgId: MMSG-26390]
getvalue : {WCSParam_Diff1}
请问是不是还要在参数列表中怎么处理,删除数据还是什么来着饿,
我加入参数列表和不加入参数列表都输出不对呢!

我要把动态生成的值保存下来后面使用。
各位急,请帮忙一下哈!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-8-7 12:07:59 | 只看该作者
不需要
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-8-7 12:14:10 | 只看该作者
那我输出的东西不对。
是不是没有保存进去啊?
我使用的是自动关联存的数据
只是想输出存的结果看看,帮忙解释下!!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-8-7 12:17:49 | 只看该作者
有人说了不需要保存参数
但是我还是不知道怎么输出结果老是那几个名称
而不是存入的值?

[ 本帖最后由 testsc 于 2006-8-7 12:37 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-8-7 13:16:46 | 只看该作者
把lr_log_message("getvalue : %s",lr_eval_string ("{WCSParam_Diff1}")); 改成lr_log_message("getvalue : #%s",lr_eval_string ("{WCSParam_Diff1}")); 即加个#号。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-8-7 13:34:15 | 只看该作者
加个#号就可以啊,以前还不知道呢,谢谢了!
唉,我以前的输出方式:
char a[2000];
for(i=1;i<=(atoi(lr_eval_string("{wzb_count}")));i++)
{
sprintf(a,"{wzb_%d}",i);
lr_output_message("Value %d= %s ",i,lr_eval_string(a));
}
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-1-25 16:38:57 | 只看该作者
1、楼主的写法是可以的,之所有出现这样的提示,是因为 lr_log_message 这个语句放的位置不对,不能紧接 web_reg_save_param 写,应该将 lr_log_message 放到下一个step之后。查了help:

web_reg_save_param is a registration type function. It registers a request to find and save a text string within the Web page that was retrieved. The operation is performed only after executing the next action function, such as web_url.

以上意思是web_reg_save_param 只是注册了一个请求,这个请求将在下一个step后才真正执行。

******************************************************************

2、5楼加#的方法似乎不能用。

******************************************************************

3、分享一些我的使用经验:当web_reg_save_param返回的是数组时,如何访问其中某个值,如param_5, 而5这个下标不是具体的数值,而是一个变量的情况。
    以下是具体的代码:

     char lastNode[200];
     int nodeCount;
     char lastNodeID[200];

     Action1_addNode()
      {

        web_reg_save_param("newNodeID",
                     "LB/IC=parent='treeFolderTr_{courseID}' name='treeFolderTr_",
                     "RB/IC=\'",
                     "Ord=All",
                     "Search=Body",
                     "RelFrameId=1",
                      LAST);

       //注意上面的Ord=All, 表示返回所有匹配的字符串,因此newNodeID是一个数组。

         web_url("courseView.do",

              "URL=http://192.168.1.38:8080/skills/recorder/courseView.do?  
               fwcid=contents&feature=course&action=addLobject&key=&
               value=recordContent&randnum=0.08241337502500479",
              "Resource=0",
              "RecContentType=text/html",
              "Referer=http://192.168.1.38:8080/skills/recorder/courseView.do?  
                 fwcid=contents&feature=course&action=select&
                  courseKey={courseID}&key={courseID}",
              "Snapshot=t44.inf",
              "Mode=HTTP",
              LAST);


    //得到数组的个数。

    nodeCount = atoi(lr_eval_string("{newNodeID_count}"));

    //格式化字符串:newNodeID_5(假设数组的个数是5), 使之表示数组中最后一个值。

     sprintf(lastNode, "{newNodeID_%d}", nodeCount);

    //lr_log_message("the last is: %s", lr_eval_string(lastNode));

    //将newNodeID数组的最后一个值赋给变量lastNodeID,lastNodeID将在后面的脚本中引用。

    lr_save_string(lr_eval_string(lastNode), "lastNodeID");


    web_url("courseView.do_2",
              "URL=http://192.168.1.38:8080/skills/recorder/courseView.do?
                fwcid=contents&feature=lobject&action=select&key={lastNodeID}
     。。。。。。。。。。

[ 本帖最后由 麦子华华 于 2007-1-25 16:42 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-1-31 11:16:45 | 只看该作者
楼上的说的很对,查看web_reg_save_param的参数值,只能够在它的下一个脚本命令执行之后才可以取到值
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-1-31 15:57:33 | 只看该作者
上面的几个方法都是可以的 ,
不过最简单莫过与在runtime setting里面设置log输出就可以了。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-3-1 23:57:01 | 只看该作者
非常感谢~~!
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-4-20 15:05:12 | 只看该作者
高见 标注学习...
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-4-20 17:32:31 | 只看该作者
记号,学习~
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-4-20 22:07:02 | 只看该作者

回复 #5 Zee 的帖子

Zee,#是为什么?

我感觉好像跟那天我的问题一样,放置的位置不对。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-4-21 09:32:04 | 只看该作者
web_reg_save_param同时也是一个registration type function (只要函数名称中包含_reg_的字眼,表示其为registration type function)。registration type function意味着其真正作用的时机是在下一个action function完成时执行的。举例来说,当某个web_url执行时所接收到的网页内容中包含了要做关联的动态数据,则必须将web_reg_save_param放在此web_url之前,则web_reg_save_param会在web_url执行完毕后,也就是网页内容都下载完后,再执行web_reg_save_param找寻要做关联的动态数据并建立参数。
所以说lr_log_message必须放到下一个Step,这个时候变量才取到了对应的数据,才能显示哈
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2007-4-21 09:47:11 | 只看该作者
嗯,不错,学到了哦,谢谢了...
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-27 11:51 , Processed in 0.075612 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表