Rss订阅IQuickTest(关于如何订阅?)
作者:zzxxbb112
时间:2010/3/24 版权所有,侵权必究。
出处:http://blog.csdn.net/zzxxbb112
环境变量相信大家都很熟悉,使用环境可以储存一些变量,这些变量可以储存在外部数据文件中,并且可以让我们在每个脚本中都能访问,至于一些基础的静态使用方法这里就不做多介绍了,看下QTP的帮助文档很简单就可以学会了,今天主要讲的是关于环境变量的动态生成,以及动态加载以及加载的两种文件类型。
这边主要是通过两个函数:
第一个函数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 "d:/1.xml"
Notes:
最早在QTP 5.X和6.X的时候QTP是使用INI文件作为外部环境变量来使用的,到了后来8.0以后开始就使用了XML的形式来储存,因此静态的加载方式已经被屏蔽了,但是动态加载还是可以使用INI文件来在加载,不过文件必须遵循一定的格式.
[Environment] username = zzxxbb112 passwd = 111111
以下是动态加载INI文件运行时的结果图:
而如果使用静态加载的方式,则会报文件类型错误,因此如果想要使用INI文件,就必须使用动态加载的方式
如有任何问题请去IquickTest Q&A问题库进行提问