环境变量的作用域问题
QTP的测试由Action组成。那么不同的测试的环境变量是否可以共用自定义的环境变量?我试了一下好象不行:
TestA设置用户自定义环境变量AEnvironment("A").value="test",但TestB无法用这个环境变量。Msgbox是一个空值!
另外:我在QTP的帮助文件中,好象提到内部的自定义环境变量只能在本测试中用,外部的自定义环境变量不能修改。但论坛上有人说环境变量是全局的。
谁能帮我确定一下,内部的自定义环境变量的作用域? 环境变量的作用域是整个脚本,不管是拆分的Action还是调用的Action都可以用此来共享数据
你说的TestA和TestB是不同的两个脚本吧?这样当然是不能用这个方法来共享数据的了。
在不同的脚本间共享数据的话可以使用数据库的方式吧 是的。我的意思是不同脚本间是否可以共享各自的环境变量? 将需要共享的环境变量写成xml文件
然后被不同的脚本load
这样不能实现吗 但我的那些变量的值是变化的。XML文件的用户自定义的外部环境变量是不能修改的 把值存放到SQL数据库里
实现数据共享 把需要共用的自定义环境变量放在一个vbs 文件里面,然后 让TestA 和TestB 调用 这个文件 就可以使用 自定义环境变量了。 那一定要用environment来实现吗?
也可以考虑用共享datatable的方式来做 不好意思。
environmen是可以跨测试的,但必须引用脚本
比如:测试A,有一个ActionA,有一个环境变量是B
=============
测试A,ACTIONA内脚本:
Environment.value("B")=“new"
=============
测试B
Call RUNACTION a
msgbox(Environment("B"))
=============
结果对话框的值是NEW
可以跨测试的,但必须引用脚本 不错,学习了~ 不错 俺也知道了怎么用喽:hug:
页:
[1]