51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3136|回复: 13
打印 上一主题 下一主题

[原创] loadrunner关联时,左边界是数组

[复制链接]
  • TA的每日心情
    郁闷
    2015-5-12 08:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2010-5-17 16:25:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    请教各位大侠一个关于关联时,边界是动态数组的问题,详细如下:

    web_reg_save_param("WCSParam_Diff2", "LB= name=\"detailForm_CommonArriveDetail[0].srv_ROW_ID\" value=\"", "RB=\">", LAST);

    --以上能取到第一个要关联的id

    web_reg_save_param("WCSParam_Diff3", "LB= name=\"detailForm_CommonArriveDetail[1].srv_ROW_ID\" value=\"", "RB=\">", LAST);
    ----以上能取到第二个要关联的id

    那么能不能有一种方法,一次性取出这些id值,然后保存到数组中呢?因为有多个id要取。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2010-5-17 16:50:03 | 只看该作者
    你可以取出后就保存,然后用这个值去做你要做的事情,这个取值可以用循环控制
    函数lr_save_string(lr_paramarr_idx("username",1),"name")
    给你参考下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2010-5-17 16:50:32 | 只看该作者
    一口气吃不成胖子,分步来
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2010-5-17 17:02:30 | 只看该作者
    web_reg_save_param  可以直接抓下所有的,里面有个参数ORD = ALL,然后再用偏移位的参数,不要把 [0] [1]等写到左边界里,可以扩大取值的范围,全部取到后再把多余的字符串拿掉。但获取后参数的保存方式会和 默认 ORD=1 有区别

    lr_paramarr_idx  是处理获取后参数组的,   9.X 开始才有的,9.X  之前的版本就别指望了,sprintf 的方式再从参数组里拿出来
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-5-12 08:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
     楼主| 发表于 2010-5-17 18:28:16 | 只看该作者
    再扩大取值范围,不把【0】、【1】写到边界里,就取不到值了,加了ORD = ALL也取不到呢;

    suqing的代码段,我还不是很理解,再学习学习,多谢二位。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2010-5-17 19:52:09 | 只看该作者
    用替换符替换一下就行了,前提是数字长度固定,否则把左边界写大点
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2010-5-18 13:44:19 | 只看该作者
    原帖由 wslf 于 2010-5-17 18:28 发表
    再扩大取值范围,不把【0】、【1】写到边界里,就取不到值了,加了ORD = ALL也取不到呢;

    suqing的代码段,我还不是很理解,再学习学习,多谢二位。


    抓的时候
    "LB= name=\"detailForm_CommonArriveDetail" value=\"",
    "RB=\">",

    然后每个结果 都会在前面多出来 [0].srv_ROW_ID\  这么一段,设法处理掉
    原来默认ORD=1取参数是保存在比如 WCSParam_Diff2 ,
    用了ORD=ALL以后,参数保存方式 为 WCSParam_Diff2_1   
    (第1个,之后的类似,WCSParam_Diff2_2,WCSParam_Diff2_3)
    WCSParam_Diff2_count 为总数,但没有 WCSParam_Diff2

    2楼说的 lr_paramarr_idx ,因为1个与多个的参数命名不同了
    lr_paramarr_idx 可以辅助处理直接取出其中某一个的值
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-5-12 08:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
     楼主| 发表于 2010-6-10 15:34:48 | 只看该作者
    呵呵,谢谢各位的回答,现在我这样取出这些值了:
    web_reg_save_param("chehao",
      "LB/DIG= name=\"detailForm_CommonArriveDetail[#].srv_ROW_ID\" value=\"",
      "RB=\">",
            "ORD=ALL",
            LAST);
    可是,当我要打印出取到的第一个值时,怎么不对呢?
    sprintf(testhao_1,"{chehao_%d}",1);
    lr_output_message("testhao1= %s",lr_eval_string(testhao_1));

    运行后的输出是:

    Action.c(197): Warning: The string 'chehao_1' with parameter delimiters is not a parameter.
    Action.c(197): testhao1= {chehao_1}

    这哪里不对码?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2010-6-10 15:40:17 | 只看该作者
    sprintf(testhao_1,"{chehao_%d}",1);
    lr_output_message("testhao1= %s",lr_eval_string(testhao_1));

    这两句有问题,可以换成用lr_paramarr_idx来取值
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-5-12 08:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
     楼主| 发表于 2010-6-10 16:41:04 | 只看该作者
    呵呵,我看都这么写的啊?
    lr_paramarr_idx这个loadrunner 8支持码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2010-6-11 08:59:22 | 只看该作者
    取值的时候要这样写lr_output_message(lr_eval_string("{chehao_1}"));

    推荐看日志而不是自己去写代码调试
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2010-6-11 09:18:56 | 只看该作者

    学习了

    学习了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-5-12 08:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    13#
     楼主| 发表于 2010-6-11 11:44:15 | 只看该作者
    55,这样写也不行啊,lr_output_message(lr_eval_string("{chehao_1}"))
    也会报一样的错
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2010-6-11 12:15:10 | 只看该作者
    语句后的分号
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-28 21:25 , Processed in 0.086825 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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