路漫漫其修远兮,吾将上下而求索
QTP中获取当前路径[转]
上一篇 /
下一篇 2011-08-03 23:54:10
/ 个人分类:Qtp
转载地址:http://hi.baidu.com/yolanguo/blog/item/53fab0ff17e8388eb801a088.html
实属转帖,方便以后查找~
QTP9.2版本,以下内容适合QTP和vbs。
路径一:QTP的测试当前路径
environment("TestDir")
使用environment("TestDir")能获取当前测试的绝对路径,不包括最后的“\”
方法:
Path = environment("TestDir")
路径二:QTP安装目录下bin目录的路径
WshShell.CurrentDirectory
(注:不包括地址最后的“/”)
方法:
Dim WshShell,path
Set WshShell = WScript.CreateObject("WScript.Shell")
Path = WshShell.CurrentDirectory
以上为vbs中的用法,如果是在QTP中使用,则可以用以下方法(vbs也可以用以下方法):
Dim WshShell,path
Set WshShell = CreateObject("WScript.Shell") ‘就这一句少了“WScript”
Path = WshShell.CurrentDirectory
注意:此方法在QTP运行时获取的将是QTP安装目录下bin目录的路径,如果是写在vbs文件中,然后加载到QTP中,在QTP运行时也是获取QTP安装目录下bin目录的路径。但是如果是编辑一个测试脚本(脚本里包含此获取路径方法,或引用的vbs文件包含此获取路径方法),然后保存(不要关闭脚本),这时运行脚本,则此方法将获取测试脚本存放的当前路径。关闭脚本再打开运行,则还是会获取QTP安装目录下bin目录的路径。因此在调试时可能是正常的,但到运行时就出错了。
而如果用environment("TestDir"),则获取的都是当前测试的存放路径,但是不能用在VBS文件中(除非此文件是加载到QTP中运行的,那就可以)。
例:QTP安装目录下的bin路径:C:\program files\Mercury Interactive\QuickTest Professional\bin
路径三:vbs文件的路径
left(Wscript.ScriptFullName,len(Wscript.ScriptFullName)-len(Wscript.ScriptName))
(注:包括地址最后的“/”)
方法:
Path = left(Wscript.ScriptFullName,len(Wscript.ScriptFullName)-len(Wscript.ScriptName))
注意:此方法只能用在单独的vbs文件中,加载到QTP中的vbs文件如果含有此方法也会报错。因为QTP不支持WScript。
收藏
举报
TAG: