51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 通过web_reg_save_garam得到的数组,怎么用于多用户并发?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-4-27 15:46:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
通过web_reg_save_garam函数获得100个值。到数组temp中。
如何象用file方式参数化一样,在controller中让每个用户分别去取temp的值。并且每个用户取值是唯一的。然后去并发发出请求。

请教大师!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-4-27 16:01:33 | 只看该作者
楼主可以贴出具体的web_reg_save_param的内容吗?比如左右边界是什么。我想应该没有必要在解析之后存到数组,解析了之后直接在接下来的脚本中使用应该就可以了,不过关键要看左右边界和左边界的次序,还有可能要做相应的关联。希望楼主说的具体一些,或者将脚本共享出来。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-4-27 16:06:38 | 只看该作者
web_reg_save_param 如果一下拿100个
那么controller里跑的时候每个用户都会拿到100个。。。
这个情况应该在取的时候就只要1个 (web_reg_save_param   ORD 参数)
只要把ORD 参数化了就可以了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-4-27 16:08:06 | 只看该作者
web_reg_save_param("orgid",
                "LB/BIN/DIG=link('",
                "RB/BIN/DIG=','1020'",
                "Ord=ALL",
                "NotFound=ERROR",
                "Search=Body",
                LAST);


        web_url("organizationAction.shtml_5",
                "URL=http://localhost:8088/organizationAction.shtml?action=loadOrganizationAdminTree&openNode=1020",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://localhost:8088//organizationAdminAction.shtml",
                "Snapshot=t19.inf",
                "Mode=HTML",
                EXTRARES,
                "URL=../image/dTree/minus.gif", "Referer=http://localhost:8088/organizationAction.shtml?action=loadOrganizationAdminTree&openNode=1020", ENDITEM,
                LAST);


        web_url("organizationAction.shtml_6",
                "URL=http://localhost:8088/organizationAction.shtml?action=loadOrganization&organizationID={orgid_1}",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://localhost:8088/organizationAdminAction.shtml",
                "Snapshot=t20.inf",
                "Mode=HTML",
                LAST);


获得的orgid,要用于红色标识的那个值。

谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-4-27 16:17:33 | 只看该作者
我想要每个用户取值都不一样,如果只取一个值的话  那每个用户取值只能一样了。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-4-27 16:24:55 | 只看该作者
只要取一个就可以了,每个用需要取的不一样的话 就把web_reg_save_param函数中的ORD参数根据 vuser id做参数化
否则没办法做到唯一,脚本vuser之间不通的,除非事先放进file里做参数化
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-4-27 17:21:55 | 只看该作者
楼主是想每个用户去不同值还是每个循环选不同的值啊,如果是第一种情况,楼主可以新建一个参数NewParam,参数类型选择Vuser ID,如果是第二种情况参数类型选择Iteration Number,然后用{NewParam}代替脚本中的ALL

web_reg_save_param("orgid",
                "LB/BIN/DIG=link('",
                "RB/BIN/DIG=','1020'",
                "Ord={NewParam}",
                "NotFound=ERROR",
                "Search=Body",
                LAST);
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2010-4-27 18:12:23 | 只看该作者
谢谢,那请问取值的时候怎么写呢? 参数属性怎么设置呢?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2010-4-27 18:16:43 | 只看该作者
同时,为什么ord中用all 就能把数据匹配出来  我用1 就匹配不出来呢?

我用下面的语句打印获得的参数:
         i=atoi( lr_eval_string("{orgid_count}") );
        lr_error_message("The count of orgid_account is %d", i);
        for (j=1;j<=i;j++)
        {
    sprintf( temp,"{orgid_%d}\0",j );
        lr_error_message("{orgid_%d} is %s", j, lr_eval_string(temp));
        }
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2010-4-27 18:26:45 | 只看该作者
我是这样看到这个问题的,我能明白你想实现每个用户做不同的事情
那么
1.如果数据固定你可以通过参数化实现
2.如果数据是动态的那么你在关联的时候会得到该列表的所有数据,但是每个用户都会关联到,这样就会很麻烦,你可以通过用户vuser_id来尝试解决,但是这里需要确保你的虚拟用户数,少于等于关联到的记录数
3.直接去数据库抓所有记录,然后分配

ps.很多事情其实你不用想那么多,尽量简化就行了
回复 支持 反对

使用道具 举报

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

    连续签到: 1 天

    [LV.7]测试师长

    11#
    发表于 2010-4-27 21:20:52 | 只看该作者

    回复 9# 的帖子

    用 order=1 不就只有一个值么,没有_count 属性可以用吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2010-4-28 13:56:53 | 只看该作者
    谢谢,各位的回答!
    我的脚本是完成用户 新建 编辑 删除的功能。
    先是每个用户去新建一条记录,比如100个用户新建,新建了100条记录,然后再让每个用户去对自己的记录进行编辑和删除。 程序的代码在编辑和删除时是以记录的id为标识去请求服务的。这个id是动态生成的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2010-4-29 11:25:01 | 只看该作者
    用Web_reg_save_pram关联取到参数数组,用lr_whoami取到VUserID,再使用lr_paramarr_idx取参数数组的其中一个值(根据VUserID取)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2010-5-7 16:01:31 | 只看该作者
    如果虚拟用户数小于你关联得到的count,那可以依赖VUserID保证每个vuser取得不同的ord数值,不过前提是你的vuserid取值要符合ORD取值的要求,比如关联到100个值,那vuserid就不能有大于100的;另一种情况,如果虚拟用户数大于你关联得到的count,我建议使用随即方式在你获取的关联数组中随即取值。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2010-5-10 15:21:06 | 只看该作者
    可以直接数据库中抓这个id的,然后在参数化
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-18 05:51 , Processed in 0.070426 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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