51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2537|回复: 5
打印 上一主题 下一主题

[原创] LR脚本中参数化过多的解决方法,求解

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-3-17 12:10:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于5层数据库表结构进行变量参数化,示例如下:
A       objid code
A_list  objid billid
B       objid A.objid
B_list  objid billid
C_link  A.objid B.objid
如上,对一条业务单据的变量进行参数化,A_list.billid既A的objid,B_list的相同,
我需要对A.objid,code,A_list.objid,B.objid,B_list.objid进行参数化,并且在脚本中讲如上值都进行替换,
实际的业务中一次提交的数据是500条清单,既上面的示例 x500的量,并要保证每个清单的objid都是独立唯一的,
且业务需求是进行50个用户的并发测试,所以脚本中总共替换的参数已达数千个,使用的是Unique -  Each iteration,
尝试过使用Sequential - Each iteration和Sequential - Each occurrence的组合,
A.objid,A_list.billid,B.objid,B_list.billid为相同的2个参数不变,A_list.objid,B_list.objid在多个清单条件下依次循环取下一条值,
但该方法进行到第二个的用户的时候取值又是从第一条开始,不符合objid唯一性的条件,
请问有什么简单的方法能够实现这样的参数化设置,或者采取别的办法,谢谢赐教。

[ 本帖最后由 photo_liu 于 2010-3-17 13:25 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-3-17 12:44:50 | 只看该作者
虽然我没看懂你想做什么,不过你可以这样做

用unique先为每个用户分配一定的数据块即可。unique里面有block size的设置
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-3-17 13:30:28 | 只看该作者
已对描述进行修改,不知是否能更易懂。
感谢云层的回复,
实践后,因累计的数据量已达上百万条,故为每个用户分配一定的数据块的方法操作中也比较繁琐,
有人提出用调用外部DLL的方法将脚本中所有的objid进行替换,但牵涉到500清单objid的不可重复性及billid的对应性,不知是否可能,本人没有使用过调用dll的方法,请高人赐教,谢谢。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-3-17 13:38:42 | 只看该作者
你要唯一还有一个方法就是在用参数化自带的时间或者唯一数来做,首先做个用当前的虚拟用户数作为组成参数的一部分,这样就可以确保你每一个记录都是按照虚拟用户编号+唯一的数据编号。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-3-17 13:52:27 | 只看该作者
现在的问题并不是唯一性,二是参数化的数量太多,将近5000个,
手动来做的话,准确性保证不了,错一个的话脚本就失败,并且也没有这么多的时间和人力去做这样的事。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-3-18 21:59:19 | 只看该作者
直接使用Unique Number这种参数类型不行吗?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-24 09:32 , Processed in 0.071704 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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