51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3376|回复: 9
打印 上一主题 下一主题

[原创] 如果修改多个字段,如何做参数化

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-13 18:06:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
录入一个修改用户资料的脚本,使用A用户登录进行修改,如果想实现多个用户同时登录并修改资料,用此脚本对登录用户名进行了参数化,但是修改资料的脚本写入的还都是原来A用户用户信息,这样的话,脚本中的修改资料的信息和用的非A用户的资料是不一样的,我查看log文件,显示出来参数化的几个用户都调用了,但是实际运行结果中只有一个用户修改成功,想知道是不是用户资料其他字段也都要做参数化才能实现对用户资料的修改。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-10-13 19:07:55 | 只看该作者
如果使用A去录制脚本,写入文件的信息,理论上来说,是写了A的
做参数化的时候,你参数化写入的信息了没?
如果还是有问题,建议贴(部分)脚本
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    3#
    发表于 2010-10-13 20:32:21 | 只看该作者
    那是肯定要参数化的,不过一般都用关联了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2010-10-13 21:36:14 | 只看该作者
    回复 1# nancychi2002
    这个样具体问题具体分析,可以将修改资料的那部分脚本同样做参数化,但有时也可以做关联,都可以解决这个问题。关联虽然不好做,但是写出来后,会比参数化方便不少!
        如果你后面修改的资料是根据用户名加载的,那么还是做参数化比较好,如果是根据别的字段加载的,那么关联会好一些
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2010-10-14 10:01:18 | 只看该作者
    非常感谢大家的回答,我目前是修改的用户资料是根据登录用户名取出来的,那是不是修改资料这部分的所有字段信息都要做参数化,如果做参数化的话如何能设置参数化选项才能保证我从数据库中取出来每个字段的值都是能对应上的,如何设置参数化的选项呢,多谢多谢!
            // [WCSPARAM WCSParam_Diff2 32 7fbd5c6e86124ca23c76a771abf5e9ed] Parameter {WCSParam_Diff2} created by Correlation Studio
            web_reg_save_param( "WCSParam_Diff2", "LB= value=\"", "RB=\"", "Ord=1", "IgnoreRedirections=Yes", "Search=Body", "RelFrameId=1", LAST );
            web_submit_data("declare_explor_md2.do",
                    "Action=http://10.67.1.38:7012/etrading/declare_explor_md2.do",
                    "Method=POST",
                    "RecContentType=text/html",
                    "Referer=http://10.67.1.38:7012/etrading/trade/declare_md2.jsp?fundcode=002021",
                    "Snapshot=t86.inf",
                    "Mode=HTTP",
                    ITEMDATA,
                    "Name=functionno", "Value=04", ENDITEM,
                    "Name=fundcode", "Value=002021", ENDITEM,
                    "Name=remitusTradeacco", "Value=", ENDITEM,
                    "Name=tradeaccoTmp", "Value=20000541271", ENDITEM,
                    "Name=capitalmodeTmp", "Value=F", ENDITEM,
                    "Name=bankidcard", "Value=416160192316856621", ENDITEM,
                    "Name=sharetype", "Value=A", ENDITEM,
                    "Name=moneySource", "Value=0", ENDITEM,
                    "Name=tradeaccoTmp2", "Value=20000004576", ENDITEM,
                    "Name=broker", "Value=", ENDITEM,
                    "Name=declaresum", "Value=1001", ENDITEM,
                    "Name=kkxz", "Value=", ENDITEM,
                    "Name=submit", "Value=?", ENDITEM,
                    "Name=reserved", "Value=", ENDITEM,
                    "Name=reserved2", "Value=", ENDITEM,
                    "Name=governor", "Value=", ENDITEM,
                    "Name=governorpassword", "Value=", ENDITEM,
                    "Name=balancecoin", "Value=156", ENDITEM,
                    "Name=trademethod", "Value=0", ENDITEM,
                    "Name=bankpassword", "Value=", ENDITEM,
                    "Name=serial", "Value=", ENDITEM,
                    "Name=broker", "Value=", ENDITEM,
                    "Name=discountrate", "Value=1", ENDITEM,
                    "Name=promotion", "Value=", ENDITEM,
                    "Name=partflag", "Value=", ENDITEM,
                    "Name=fixbusinflag", "Value=", ENDITEM,
                    "Name=returnflag", "Value=", ENDITEM,
                    "Name=delayday", "Value=", ENDITEM,
                    "Name=discountflag", "Value=", ENDITEM,
                    "Name=tradeacco", "Value=20000541271", ENDITEM,
                    "Name=serial", "Value=", ENDITEM,
                    "Name=capitalmode", "Value=F", ENDITEM,
                    "Name=remindInfoHTML", "Value=?? 0.8||", ENDITEM,
                    LAST);
            lr_think_time(21);

            lr_start_transaction("申购事务");


            web_submit_data("declare.do",
                    "Action=http://10.67.1.38:7012/etrading/declare.do",
                    "Method=POST",
                    "RecContentType=text/html",
                    "Referer=http://10.67.1.38:7012/etrading/declare_explor_md2.do",
                    "Snapshot=t87.inf",
                    "Mode=HTTP",
                    ITEMDATA,
                    "Name=org.apache.struts.taglib.html.TOKEN", "Value={WCSParam_Diff2}", ENDITEM,
                    "Name=discountflag", "Value=", ENDITEM,
                    "Name=sharetype", "Value=A", ENDITEM,
                    "Name=capitalmodeTmp", "Value=F", ENDITEM,
                    "Name=tradeaccoTmp", "Value=20000541271", ENDITEM,
                    "Name=declaresum", "Value=1001", ENDITEM,
                    "Name=fixbusinflag", "Value=", ENDITEM,
                    "Name=trademethod", "Value=0", ENDITEM,
                    "Name=submit", "Value=?", ENDITEM,
                    "Name=tradeaccoTmp2", "Value=20000004576", ENDITEM,
                    "Name=moneySource", "Value=0", ENDITEM,
                    "Name=partflag", "Value=", ENDITEM,
                    "Name=functionno", "Value=04", ENDITEM,
                    "Name=returnflag", "Value=", ENDITEM,
                    "Name=fundcode", "Value=002021", ENDITEM,
                    "Name=reserved2", "Value=", ENDITEM,
                    "Name=bankpassword", "Value=", ENDITEM,
                    "Name=serial", "Value=", ENDITEM,
                    "Name=remindInfoHTML", "Value=?? 0.8||", ENDITEM,
                    "Name=governor", "Value=", ENDITEM,
                    "Name=promotion", "Value=", ENDITEM,
                    "Name=tradeacco", "Value=20000541271", ENDITEM,
                    "Name=broker", "Value=", ENDITEM,
                    "Name=remitusTradeacco", "Value=", ENDITEM,
                    "Name=balancecoin", "Value=156", ENDITEM,
                    "Name=bankidcard", "Value=416160192316856621", ENDITEM,
                    "Name=delayday", "Value=", ENDITEM,
                    "Name=governorpassword", "Value=", ENDITEM,
                    "Name=discountrate", "Value=1", ENDITEM,
                    "Name=capitalmode", "Value=F", ENDITEM,
                    "Name=kkxz", "Value=", ENDITEM,
                    "Name=reserved", "Value=", ENDITEM,
                    "Name=submit", "Value=?", ENDITEM,
                    "Name=detailcapitalmode", "Value=01", ENDITEM,
                    LAST);
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2010-10-14 10:09:25 | 只看该作者
    上面附上了修改部分的脚本,其中sessionid进行了关联,另外大家都提到也可以做关联,我目前sessionid是脚本运行之后可以在自动关联中直接做关联,可是这些修改的字段在运行脚本后也不列在自动关联中,如何做这些字段的关联呢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2010-10-14 11:03:44 | 只看该作者
    贴一下你的用户策略,如果你是让每个线程都操作不同的用户,请选用uniq方式
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2010-10-14 11:16:29 | 只看该作者
    策略参考附图

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2011-6-21 14:41:20 | 只看该作者
    你好,楼上的问题,现在都解决了吧,能不能教我啊,我现在也遇到你这个问题。要参数化多个字段。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2012-5-7 22:39:44 | 只看该作者
    我想设置多个用户并发登录操作,可是设置了参数化,却在日志统计里面看到每个用户都执行了两遍,是什么原因啊。。。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-15 06:10 , Processed in 0.077715 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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