51Testing软件测试论坛

标题: 环境变量的作用域问题 [打印本页]

作者: johnjinwei    时间: 2006-10-13 21:14
标题: 环境变量的作用域问题
QTP的测试由Action组成。那么不同的测试的环境变量是否可以共用自定义的环境变量?

我试了一下好象不行:
TestA设置用户自定义环境变量A  Environment("A").value="test",但TestB无法用这个环境变量。Msgbox是一个空值!


另外:我在QTP的帮助文件中,好象提到内部的自定义环境变量只能在本测试中用,外部的自定义环境变量不能修改。但论坛上有人说环境变量是全局的。
谁能帮我确定一下,内部的自定义环境变量的作用域?
作者: denisye    时间: 2006-10-13 21:32
环境变量的作用域是整个脚本,不管是拆分的Action还是调用的Action都可以用此来共享数据
你说的TestA和TestB是不同的两个脚本吧?这样当然是不能用这个方法来共享数据的了。
在不同的脚本间共享数据的话可以使用数据库的方式吧
作者: johnjinwei    时间: 2006-10-14 16:19
是的。我的意思是不同脚本间是否可以共享各自的环境变量?
作者: hiyizhiyu    时间: 2006-10-16 11:48
将需要共享的环境变量写成xml文件
然后被不同的脚本load
这样不能实现吗
作者: johnjinwei    时间: 2006-10-16 12:02
但我的那些变量的值是变化的。XML文件的用户自定义的外部环境变量是不能修改的
作者: denisye    时间: 2006-10-16 12:31
把值存放到SQL数据库里
实现数据共享
作者: walker1020    时间: 2006-10-16 13:32
把需要共用的自定义环境变量放在一个vbs 文件里面,然后 让TestA 和TestB 调用 这个文件 就可以使用 自定义环境变量了。
作者: hiyizhiyu    时间: 2006-10-16 13:46
那一定要用environment来实现吗?
也可以考虑用共享datatable的方式来做
作者: johnjinwei    时间: 2006-10-17 11:02
不好意思。
environmen是可以跨测试的,但必须引用脚本
比如:测试A,有一个ActionA,有一个环境变量是B
=============
测试A,ACTIONA内脚本:
Environment.value("B")=“new"
=============
测试B
Call RUNACTION a
msgbox(Environment("B"))
=============
结果对话框的值是NEW


可以跨测试的,但必须引用脚本
作者: 5555    时间: 2007-9-23 14:05
不错,学习了~
作者: AFlyRabbitPig    时间: 2010-9-27 10:00
不错 俺也知道了怎么用喽




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