51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2777|回复: 10
打印 上一主题 下一主题

[原创] 请教在关联时,遇到数组的如何处理?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-9-7 14:18:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在设置关联函数时,返回值格式如下,这个应该如何定义左右边界呢?

例如想取值11633823 赋值给A,应该如何定义web_reg_save_param 呢?

<script>
      var returnArray = new Array();
      bnum = 0;
      returnArray[bnum++]="11633823";
      returnArray[bnum++]="14921562";
      returnArray[bnum++]="20080907743297";
      returnArray[bnum++]="080907928660";
      returnArray[bnum++]="174367";

      returnArray[bnum++]="2";
      returnArray[bnum++]="22119263";
      returnArray[bnum++]="80711033";
      returnArray[bnum++]="00";
      returnArray[bnum++]="install/queryInstallNormalTelAction.do";

      returnArray[bnum++]="装机";
      returnArray[bnum++]="00";
      returnArray[bnum++]="电话";
      returnArray[bnum++]="1";
      returnArray[bnum++]="2008-09-07 12:27:25";

      returnArray[bnum++]="00";
      returnArray[bnum++]="";
      returnArray[bnum++]="";
      returnArray[bnum++]="1611";
      returnArray[bnum++]="0";

      returnArray[bnum++]="4";
      returnArray[bnum++]="2910";
      returnArray[bnum++]="27815821";

  var executeResult = "SUCCESS";
  var msg = "保存成功!";
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-9-7 15:54:01 | 只看该作者
web_reg_save_param("A",
                "LB=returnArray[bnum++]=\"",
                "RB=\";",
                  "Ord=2",
                LAST);
        lr_output_message("produce_Id is %s\n", lr_eval_string("{A}"));
这样取时 发现取不下来。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-9-7 22:34:33 | 只看该作者
Ord=1  吧 貌似
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-9-8 09:34:51 | 只看该作者
同意楼上的,把order去掉;默认取第一个
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-9-8 11:49:49 | 只看该作者

好像不行,Ord=1也取不到,以下是打印信息

Action.c(714): rn_number is 80711031
Action.c(718): Registering web_reg_save_param was successful          [MsgId: MMSG-26390]
Action.c(723): A is {A}

A 打印不出值来,
加ord是为了不只要取这个,不知道这个边界定义是否有问题?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-9-8 14:14:12 | 只看该作者
把ord改成all 用参数数组的方法解决即可
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2008-9-8 17:34:07 | 只看该作者

将函数改成如下:

web_reg_save_param("A",
                "LB=returnArray[bnum++]=\"",
                "RB=\";",
        "Ord=ALL",
                LAST);

        lr_output_message("A is %s\n", lr_eval_string("{A_1}"));
        lr_output_message("A is %s\n", lr_eval_string("{A}"));

---------
打印出来:
Action.c(718): Registering web_reg_save_param was successful          [MsgId: MMSG-26390]
Action.c(724): A is {A_1}
Action.c(725): A is {A}

似乎还是取不到值,注册函数成功是否已经说明,左右边界没问题呢?但是为何中间的数值就取不出来呢?对于" 是应该改成\" 就可以了吧?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2008-9-8 17:37:16 | 只看该作者

用Ord=1 和 用Ord=ALL的数组 有什么区别?

web_reg_save_param("A",
                "LB=returnArray[bnum++]=\"",
                "RB=\";",
        "Ord=ALL",
                LAST);

        lr_output_message("A is %s\n", lr_eval_string("{A_1}"));
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-9-9 12:41:47 | 只看该作者
关联函数写在请求前面,取值脚本写在请求后。。。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-9-9 13:34:10 | 只看该作者
ALL就是把符合条件的值都取出,存放在参数数据中,可以通过参数_下标提取出来,你可以做循环打印出来看看
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2008-9-24 10:24:04 | 只看该作者
//循环输出用
        int i;
        char temp[1024] = {0};

...

    web_reg_save_param("A",
                "LB=returnArray[bnum++]=\"",
                "RB=\";",
                "NotFound=ERROR",
                "Ord=ALL",
                "Search=Body",
                LAST);
lr_output_message("注册成功!!!!!");

...


//输出关联函数

lr_output_message("==循环输出关联函数的数组值==");
    for(i=1;i<=20;i++)
{
  sprintf(temp,"{A_%d}",i);
  lr_output_message("temp %s\n", lr_eval_string(temp));
}


调试几次后发现可以打印出值来了,以上为循环打印出数组的值。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-20 17:16 , Processed in 0.072610 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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