TA的每日心情 | 奋斗 2014-12-18 10:31 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]测试小兵
|
如果项目文件路径不会改变的话,5#的方法的可以的,但是如果项目文件换了位置就又要重新设置环境变量,下面的代码可以实现不管项目文件的路径怎样改变,都可以使用相对路径(但如果项目的文件结构改变,该方法也就不可行了,不过改变项目的文件结构是没有什么意义的,一般都是预先设计好的)
可以用设置默认文件夹的方法:
set qtapp=createobject("QuickTest.application")
qtapp.Folders.Add(mid(Environment("TestDir"),1,(InStrRev(Environment("TestDir"),"\",len(Environment("TestDir")))))) '将当前脚本的上级目录,设置为默认文件夹
set qtapp=nothing
'下面就可以用相对路径了
ExecuteFile "FunctionLab.vbs"
'注:以上代码是脚本文件和函数库文件在同一目录下的情况,若不在同一目录下则:
'假设函数库文件路径为:..\project\FunctionLab\FunctionLab.vbs
'脚本文件路径为:..\project\Script\脚本名称
'则需要减去\Script\的长度,将脚本文件和函数库文件的上级目录设置为默认文件夹脚本如下:
set qtapp=createobject("QuickTest.application")
qtapp.Folders.Add(mid(Environment("TestDir"),1,(InStrRev(Environment("TestDir"),"\",len(Environment("TestDir")))-8))
) '将当前脚本的上一的上级目录,设置为默认文件夹
set qtapp=nothing
ExecuteFile "FunctionLab\FunctionLab.vbs"
如果是单一的脚本,使用这个方法没什么意义,直接添加相对文件夹就可以了:tools,option,Folders,弊端和5#的弊端是一样的
如果是自动化测试框架中使用,可以在驱动脚本中添加设置就可以了。例如:
set qtapp=createobject("QuickTest.application")
qtapp.launch
qtapp.Folders.Add(Projectpath)
set qtapp=nothing
Public Function getProjectPath()
Set objFSO = CreateObject("Scripting.FileSystemObject") '创建FSO对象
Set objFile = objFSO.GetFile(wscript.scriptfullname) '获取文件的完整路径
getProjectpath= objFSO.GetParentFolderName(objFile) '获取上一级文件夹路径
Set objFile = Nothing
Set objFSO = Nothing
End Function
[ 本帖最后由 feiyunkai 于 2010-4-1 11:57 编辑 ] |
|