51Testing软件测试论坛
标题:
QTP当前路径总结
[打印本页]
作者:
chenyb85
时间:
2008-10-15 13:40
标题:
QTP当前路径总结
说明
:本总结不涉及相对路径的应用
以下为获取当前路径的三种方法,包括
QTP
和
vbs
的或二者都可用的。
以下为本人实验过的。用的
QTP
版本为
9.2
版。
1.
environment("TestDir")
使用
environment("TestDir")
能获取当前测试的绝对路径,不包括最后的“
\
”
方法
:
Path = environment("TestDir")
2.
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
3.
left(Wscript.ScriptFullName,len(Wscript.ScriptFullName)-len(Wscript.ScriptName))
(
注:包括地址最后的“
/
”
)
方法
:
Path = left(Wscript.ScriptFullName,len(Wscript.ScriptFullName)-len(Wscript.ScriptName))
注意
:此方法只能用在单独的
vbs
文件中,加载到
QTP
中的
vbs
文件如果含有此方法也会报错。因为
QTP
不支持
WScript
。
作者:
fwlikexbx
时间:
2008-10-15 14:34
b cuo 机械谢谢 学习一
作者:
huizhen
时间:
2008-12-5 11:39
貌似在使用第2种方法通过vbs实现的时候,会提示WScript对象不存在?还需要先建立对象吗?再尝试一下,呵呵
第一中方法很不错哦,简单
作者:
yuandjing
时间:
2008-12-5 11:47
谢谢楼主
总结的很好
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2