51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 请教一个参数替换的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-10-14 19:47:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一般来说参数替换是比较简单的,但我遇到一个很棘手的参数替换问题。如下:
提交函数里
          web_submit_data("show.jsp",
                  "Action=http://127.0.0.0/temp.jsp",
                  "Method=POST",
                  "RecContentType=text/html",
                  "Referer=http://127.0.0.0/temp.jsp",
                  "Snapshot=t19.inf",
                  "Mode=HTML",
                  ITEMDATA,
                  "Name=keyNumType", "Value=0", ENDITEM,
                  "Name=queryMethod", "Value=normal", ENDITEM,
                  "Name=isNewQuery", "Value=new", ENDITEM,
                  "Name=isCurrent", "Value=0", ENDITEM,
                  "Name=telKeyNumAll", "Value=on", ENDITEM,
                  "Name=telKeyNum0", "Value=5706030826:20024560000000:", ENDITEM,
                  "Name=telKeyNum1", "Value=5706032536:20056781000000:", ENDITEM,
                  "Name=telKeyNum2", "Value=5706032656:20061019866000:", ENDITEM,
                  "Name=telKeyNum3", "Value=5708160390:20061013000000:", ENDITEM,
                  "Name=telKeyNum4", "Value=5708160392:25454013000000:", ENDITEM,
                  "Name=telKeyNum5", "Value=5708162583:20066665000000:", ENDITEM,
                  "Name=telKeyNumCount", "Value=6", ENDITEM,
                  "Name=netKeyNumCount", "Value=2", ENDITEM,
                  "Name=listType1", "Value=1", ENDITEM,
                  "Name=listType2", "Value=12", ENDITEM,
                  "Name=listType3", "Value=", ENDITEM,
                  "Name=month", "Value=200709", ENDITEM,
                  "Name=pageSize", "Value=10", ENDITEM,
                  LAST);
现在要将Name=telKeyNum0一直到Name=telKeyNum6的value值全部替换掉,但并不知道有几个Name=telKeyNum。
telKeyNumCount的值等于所有的telKeyNum总数。
请教高手帮助!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-10-14 20:05:21 | 只看该作者
关注一下,还真没有碰到过。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-10-14 20:06:51 | 只看该作者
自己写代码吧,做个判断,然后进行取参数。c语言。我也正要研究呢。呵呵。

[ 本帖最后由 lyscu 于 2007-10-14 20:36 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-10-14 22:05:37 | 只看该作者
在这一段写循环比较好
"Name=telKeyNum0", "Value=5706030826:20024560000000:", ENDITEM,
但是这个是web_submit_data函数的参数,没法做循环。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-10-14 22:57:44 | 只看该作者
搬个凳子看看高手怎么解决
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-10-15 09:42:21 | 只看该作者
期待
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-10-15 10:52:22 | 只看该作者
替换的数据是从哪里来的?关联的?本地的?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2015-6-25 18:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
    发表于 2007-10-15 11:11:29 | 只看该作者
    如同ZEE所说,关键就是:"Name=telKeyNumCount", "Value=6", ENDITEM,
    怎么获得的?

    获得这个值以后,使用选择分支语句搞定吧。。脚本会比较长;
    例如:
    switch(count)
    {
       case 1:
          web_submit_data();
          break;
       case 2:
          web_submit_data();
          break;
       ……
    }

    [ 本帖最后由 qiguojie 于 2007-10-15 11:21 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2007-10-15 13:53:13 | 只看该作者
    参数从本地.dat文件里获取

    这个最大可以有36种,写CASE语句太长。有没有更好的办法?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-10-15 18:01:14 | 只看该作者
    你看能不能做个关联,无论他返回多少个,只要你做的关联对于这n个左右边界都相同,那么你就知道他返回多少个了,这样不就好办了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-10-15 18:18:50 | 只看该作者
    关注中...
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-10-15 19:12:15 | 只看该作者
    看上去很难.实际很简单.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-10-16 09:19:20 | 只看该作者
    说一下自己的想法.
    action{
    int i;
    char count[1024];
    首先将telKeyNumCount", "Value=6", ENDITEM中的"6"取出来
    web_reg_save_param("telKeyNumCount",
    "LB=telKeyNumCount\", \"Value=",
    "RB=\"",
    "Ord=ALL",
    LAST);/*存到telKeyNumCount中*/
    ----------------------
    然后利用for循环,产生telKeyCNumCount个这样的值
    for(i=0;i<{telKeyNumcount};i++)/*循环取得从0到telKeyNumCount的i的值*/
    sprintf(count,"telKeyNum%d",i);/*输出telKeyNum0,telKeyNum1,....telKeyNum6*/
    lr_output_message("count=%s",count);/*输出count的值,帮助调试.count的值为telKeyNum0到telKeyNum6*/
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
     楼主| 发表于 2007-10-16 09:58:43 | 只看该作者
    请教一下duola1119:
    将telKeyNum0,telKeyNum1,....telKeyNum6取出来以后怎么放在web_submit_data的参数中?
    在web_submit_data函数中能做到循环赋参吗?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-25 18:56 , Processed in 0.073281 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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