51Testing软件测试论坛

标题: 通过web_reg_save_garam得到的数组,怎么用于多用户并发? [打印本页]

作者: caozhongchun    时间: 2010-4-27 15:46
标题: 通过web_reg_save_garam得到的数组,怎么用于多用户并发?
通过web_reg_save_garam函数获得100个值。到数组temp中。
如何象用file方式参数化一样,在controller中让每个用户分别去取temp的值。并且每个用户取值是唯一的。然后去并发发出请求。

请教大师!
作者: ziheng198688    时间: 2010-4-27 16:01
楼主可以贴出具体的web_reg_save_param的内容吗?比如左右边界是什么。我想应该没有必要在解析之后存到数组,解析了之后直接在接下来的脚本中使用应该就可以了,不过关键要看左右边界和左边界的次序,还有可能要做相应的关联。希望楼主说的具体一些,或者将脚本共享出来。
作者: skyzhu    时间: 2010-4-27 16:06
web_reg_save_param 如果一下拿100个
那么controller里跑的时候每个用户都会拿到100个。。。
这个情况应该在取的时候就只要1个 (web_reg_save_param   ORD 参数)
只要把ORD 参数化了就可以了
作者: caozhongchun    时间: 2010-4-27 16:08
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,要用于红色标识的那个值。

谢谢!
作者: caozhongchun    时间: 2010-4-27 16:17
我想要每个用户取值都不一样,如果只取一个值的话  那每个用户取值只能一样了。
作者: skyzhu    时间: 2010-4-27 16:24
只要取一个就可以了,每个用需要取的不一样的话 就把web_reg_save_param函数中的ORD参数根据 vuser id做参数化
否则没办法做到唯一,脚本vuser之间不通的,除非事先放进file里做参数化
作者: ziheng198688    时间: 2010-4-27 17:21
楼主是想每个用户去不同值还是每个循环选不同的值啊,如果是第一种情况,楼主可以新建一个参数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);
作者: caozhongchun    时间: 2010-4-27 18:12
谢谢,那请问取值的时候怎么写呢? 参数属性怎么设置呢?
作者: caozhongchun    时间: 2010-4-27 18:16
同时,为什么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));
        }
作者: 云层    时间: 2010-4-27 18:26
我是这样看到这个问题的,我能明白你想实现每个用户做不同的事情
那么
1.如果数据固定你可以通过参数化实现
2.如果数据是动态的那么你在关联的时候会得到该列表的所有数据,但是每个用户都会关联到,这样就会很麻烦,你可以通过用户vuser_id来尝试解决,但是这里需要确保你的虚拟用户数,少于等于关联到的记录数
3.直接去数据库抓所有记录,然后分配

ps.很多事情其实你不用想那么多,尽量简化就行了
作者: msnshow    时间: 2010-4-27 21:20
标题: 回复 9# 的帖子
用 order=1 不就只有一个值么,没有_count 属性可以用吧
作者: caozhongchun    时间: 2010-4-28 13:56
谢谢,各位的回答!
我的脚本是完成用户 新建 编辑 删除的功能。
先是每个用户去新建一条记录,比如100个用户新建,新建了100条记录,然后再让每个用户去对自己的记录进行编辑和删除。 程序的代码在编辑和删除时是以记录的id为标识去请求服务的。这个id是动态生成的。
作者: PrefTest    时间: 2010-4-29 11:25
用Web_reg_save_pram关联取到参数数组,用lr_whoami取到VUserID,再使用lr_paramarr_idx取参数数组的其中一个值(根据VUserID取)
作者: cyranoxing    时间: 2010-5-7 16:01
如果虚拟用户数小于你关联得到的count,那可以依赖VUserID保证每个vuser取得不同的ord数值,不过前提是你的vuserid取值要符合ORD取值的要求,比如关联到100个值,那vuserid就不能有大于100的;另一种情况,如果虚拟用户数大于你关联得到的count,我建议使用随即方式在你获取的关联数组中随即取值。
作者: sc_zk2008    时间: 2010-5-10 15:21
可以直接数据库中抓这个id的,然后在参数化




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2