51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3000|回复: 3
打印 上一主题 下一主题

[原创] QTP当前路径总结

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-10-15 13:40:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说明:本总结不涉及相对路径的应用


以下为获取当前路径的三种方法,包括QTPvbs的或二者都可用的。
      以下为本人实验过的。用的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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-10-15 14:34:09 | 只看该作者
b cuo  机械谢谢 学习一
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-12-5 11:39:06 | 只看该作者
貌似在使用第2种方法通过vbs实现的时候,会提示WScript对象不存在?还需要先建立对象吗?再尝试一下,呵呵
第一中方法很不错哦,简单
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-12-5 11:47:06 | 只看该作者
谢谢楼主
总结的很好
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-11 06:36 , Processed in 0.063860 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表