Относительные пути обычно используются со ссылкой на Current Execution Directory.
При работе из локального каталога текущим каталогом является либо папка, в которой хранится скрипт, либо временная папка. Но когда скрипт запускается из QC, текущим каталогом выполнения является папка (что-то вроде C: \\ Temp \ HP \ TD #### \), которая меняется при каждом запуске.
Вы можете проверить текущий каталог выполнения, используя FileSystem объект или WSH объект или переменные среды QTP .
Объект FileSystem VBScript:
Установить oFSO = CreateObject ("Scripting.FilseSystemObject")
Msgbox "Текущий каталог выполнения - - & oFSO.GetAbsolutePathName (". ")
Метод WSH:
Установите objShell = CreateObject ("Wscript.Shell")
Wscript.Echo objShell.CurrentDirectory
Переменная среды QTP:
Current_Directory = Environment.Value ("TestDir")
Я не вижу другой причины, по которой относительные пути не работают.
Если у вас есть веские причины для запуска сценария как из локального, так и из QC, и вы должны использовать относительный путь, вы можете проверить соединение QC и, если подключено к QC, использовать абсолютный путь из QC Test Resources.
Set qtApp = CreateObject («QuickTest.Application»)
Если qtApp.TDConnection.IsConnected, то
'Путь к ресурсам QC Test *
Остальное
'Использовать (относительный) локальный путь
Конец, если
Установите qtApp = Nothing
Также QCUtil.IsConnected вернет True, если QTP подключен к QC (подключено означает, что вы вошли в систему и подключились к действительному проекту).