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

 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文件运行时的结果图: 

1

 

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

 

2


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


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值