您的位置:首页 > 编程语言 > Qt开发

【软件测试自动化-QTP系列讲座 33】== 环境变量的动态生成与秘密加载 ==

2010-03-24 11:22 585 查看

Rss订阅IQuickTest(关于如何订阅?
GoogleReader订阅地址: http://feeds.feedburner.com/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问题库进行提问

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐