Относительный путь для внешних действий в тесте QTP не работает с QC - PullRequest
1 голос
/ 17 ноября 2011

В одном из моих тестов QTP я вызвал внешнее действие из другого теста в той же папке и указал относительный путь, т.е. только имя теста при вызове (Test1 в приведенном ниже примере)

Когда я сохранил этидва теста для контроля качества в плане тестирования в общей папке, я вижу «отсутствующие» добавлены к внешнему действию в Test2.Когда я открываю этот тест в QTP, то ничего не пропускает Ресурсы.Я также удалил внешнее действие и сбросил путь к папке в Run > Options > Folder к пути QC, снова вставил внешнее действие, выбрав из QC.Тем не менее эта проблема существует.Пожалуйста, помогите мне, если кто-нибудь знает, как решить эту проблему.

ParentFolder
    Test1
       ReusableAction1.1
       ReusableAction1.2
    Test2
       ReusableAction2.1
       ReusableAction1.1{Test1}  ["Test1" - I used. Not "...\Test1"]

1 Ответ

0 голосов
/ 12 марта 2013

Относительные пути обычно используются со ссылкой на 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 (подключено означает, что вы вошли в систему и подключились к действительному проекту).

...