51Testing软件测试论坛

标题: 有关变量定义?/ [打印本页]

作者: eric.y    时间: 2006-1-10 11:37
标题: 有关变量定义?/
比如B脚本可以使用A脚本中的变量,但其他脚本都不可以使用A脚本中的变量.
望高手们赐教,谢谢!

[ 本帖最后由 eric.y 于 2006-1-11 16:59 编辑 ]
作者: xyuan007    时间: 2006-1-10 14:40
用得着这么麻烦吗?定义变量时规范一些不就行了吗?
作者: shyfish    时间: 2006-1-10 19:14
你的B脚本凭什么就可以用?先把这个弄明白,剩下的就好办了
作者: eric.y    时间: 2006-1-11 17:10
原帖由 shyfish 于 2006-1-10 19:14 发表
你的B脚本凭什么就可以用?先把这个弄明白,剩下的就好办了

你在A脚本中定义一个public或缺省的变量 a,只要你不退出wr或不调用texit,其他脚本中的同名变量a均使用了A 脚本运行后 a的值,现在只想在B脚本中可以使用a的值(其他脚本不可以),怎么定义在脚本A中定义变量a,或者其他的方法?

[ 本帖最后由 eric.y 于 2006-1-11 17:11 编辑 ]
作者: shyfish    时间: 2006-1-11 19:47
原来是这个问题
看看这种办法对你有没帮助:
1、把所有的变量定义成static类型的 (函数里的不用),这样变量就是个local,然后在本脚本中定义函数来设定、获取它(相当于常说的属性),这样在其它脚本中就只能通过函数来使用它了,这个方法适用于Compiled Module (WR本身不就有getvar和setvar吗?)
2、如果有个脚本使用的变量和其它脚本的public变量名字相同,在该脚本中把它声明为static,这样根据作用域就优先使用本地的了

其实个人觉得有这个问题是因为你的脚本变量定义不够规范,那么多符号可使用,为什么public变量偏要命名成很容易被混的?
大脑迟钝也可能对WR还了解不够,只能想出这些笨方法了
作者: eric.y    时间: 2006-1-11 20:57
原帖由 shyfish 于 2006-1-11 19:47 发表
原来是这个问题
看看这种办法对你有没帮助:
1、把所有的变量定义成static类型的 (函数里的不用),这样变量就是个local,然后在本脚本中定义函数来设定、获取它(相当于常说的属性),这样在其它脚本中就只能通过 ...

你的方法可行的,我为了是脚本更易维护把脚本分成几个脚本的时候发现这个问题,当然使用不同的变量名可以避免这样的问题,只是想有没有更好的办法,谢谢你提供的方法!




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