51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1939|回复: 4
打印 上一主题 下一主题

[原创] 这样的参数化应该怎么做?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-7-26 14:50:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
脚本中的范围参数化,两个坐标点确定一个范围,Bound=(X1,Y1,X2,Y2),X1,Y1为一个坐标点,X2,Y2为另外一个坐标点
现在需要对X1,Y1,X2,Y2参数化,X取值范围为-180000到180000 ;Y取值范围-850000到850000
要求X1的值小于X2的值,Y1的值大于Y2的值,例如:Bound=(-50088,663942,-47844,662719)

请高手帮忙,这样如何做参数化?

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

使用道具 举报

该用户从未签到

2#
发表于 2010-7-26 16:02:39 | 只看该作者
这个情况用C做随机数比较方便,这样下一个随机数可以根据上一个来确定范围

用参数做的话只能是生成以后对比,不符合规则重新生成了,一直到符合为止
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-7-26 16:30:04 | 只看该作者
只说X1,X2的了,Y的比较类似
整型变量X1,X2没的说,多两个i,j备用
int x1,x2,i,j;
根据规则x1<x2,x1最大值179999,
x1=rand()%180000;
i在0,1之间取值,如果为0则将X1转为负,
i=rand()%2;
if (i==0) {x1=-1-x1;}用-1来减是因为x1不能取180000,但-180000是可以的
x1整型数转成LR需要的参数,
lr_save_int(x1,"parm_x1");
x2取值范围是x1到180000,
j=180001-x1;
x2=rand()%j+x1;
lr_save_int(x2,"parm_x2");

X2算的边界也许会有点小问题,没时间验证了,取了几个特殊值测试看结果还是对的
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-7-26 16:50:02 | 只看该作者
上面还是想的不全面,x1转换后怎么都不会为0,把修改后的单独贴出来对照一下吧。

        int x1,x2,i,j;
       
       
   
        i=rand()%2;
   
        if (i==0) {
                x1=rand() %180001;
                x1=0-x1;
        } else x1=rand()%180000;
       
        lr_save_int(x1,"parm_x1");
        j=180000-x1;
        x2=rand() %j+x1+1;
        lr_save_int(x2,"parm_x2");

[ 本帖最后由 tttrrryyy 于 2010-7-26 16:53 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-7-27 09:13:21 | 只看该作者

回复 4# 的帖子

谢谢tttrrryyy,很清楚,如果我要加个范围限制该怎么做呢?比如比如X1和X2之间的差保持在1到2000之间。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-12 07:22 , Processed in 0.067059 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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