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

来源:互联网 发布:linux删除网桥ip地址 编辑:程序博客网 时间:2024/06/06 00:19

 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>" + vbCrLfEnd 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 = zzxxbb112passwd = 111111

以下是动态加载INI文件运行时的结果图: 

1

 

而如果使用静态加载的方式,则会报文件类型错误,因此如果想要使用INI文件,就必须使用动态加载的方式

 

2


如有任何问题请去IquickTest Q&A问题库进行提问


原创粉丝点击