Rss订阅IQuickTest(关于如何订阅?)
作者:zzxxbb112
时间:2010/3/24 版权所有,侵权必究。
出处:http://blog.csdn.net/zzxxbb112
环境变量相信大家都很熟悉,使用环境可以储存一些变量,这些变量可以储存在外部数据文件中,并且可以让我们在每个脚本中都能访问,至于一些基础的静态使用方法这里就不做多介绍了,看下QTP的帮助文档很简单就可以学会了,今天主要讲的是关于环境变量的动态生成,以及动态加载以及加载的两种文件类型。
- 动态生成 ---- 使用FSO把我们需要的变量动态的写入一个XML文件
这边主要是通过两个函数:
第一个函数getVariable是可以让我们添加环境变量并通过指针变量进行迭代增加,
第二个函数generateEnvFile是根据指针变量生成环境变量XML文件。
'************************** 初始化环境变量 ******************************
getVariable allEnvVar,"url","http://www.baidu.com"
getVariable allEnvVar,"username","zzxxbb112"
getVariable allEnvVar,"password","passwd"
'******************** 生成外部环境变量XML文件 ****************************
generateEnvFile "d:/test.xml",allEnvVar
'********************************************************************
'Description:获取所有环境变量字符串
'Parameters:XmlVar(指针变量,环境变量字符),arName(环境变量名),varValue(环境变量值),
'Return Value:无
'********************************************************************
Function getVariable(byRef xmlVar,byVal varName,byVal varValue)
xmlVar = xmlVar + _
"<Variable>" + vbCrLf + _
"<Name>" + varName + "</Name>" + vbCrLf + _
"<Value>" + varValue + "</Value>" + vbCrLf + _
"</Variable>" + vbCrLf
End Function
'********************************************************************
'Description:生成环境变量XML文件
'Parameters:envPathName(路径名),getVar(获取的环境变量字符)
'Return Value:无
'********************************************************************
Function generateEnvFile(envPathName,getVar)
envStream = _
"<Environment>" + vbCrLf + _
getVar + _
"</Environment>"
Set fso = CreateObject("scripting.filesystemobject")
Set envStreamFile = fso.CreateTextFile(envPathName)
envStreamFile.Write envStream
Set envStreamFile = Nothing
Set fso = Nothing
End Function
执行完以上脚本后我们可以看到在我们的D盘里自动生成了一个XML文件,接着我们就可以使用动态加载把环境变量加载到QTP中。
- 动态加载 ---- 使用Environment.LoadFromFile方法把环境变量文件动态的加载到QTP中
'*********动态加载环境变量*************
Environment.LoadFromFile "d:/1.xml"
Notes:
- 动态加载可以有两种文件类型: [*.xml] 和 [*.ini]
- 静态只能加载一种文件类型: [*.xml]
最早在QTP 5.X和6.X的时候QTP是使用INI文件作为外部环境变量来使用的,到了后来8.0以后开始就使用了XML的形式来储存,因此静态的加载方式已经被屏蔽了,但是动态加载还是可以使用INI文件来在加载,不过文件必须遵循一定的格式.
[Environment]
username = zzxxbb112
passwd = 111111
以下是动态加载INI文件运行时的结果图:
而如果使用静态加载的方式,则会报文件类型错误,因此如果想要使用INI文件,就必须使用动态加载的方式
如有任何问题请去IquickTest Q&A问题库进行提问