Основные правила развертывания

Общие

В TPTP используются только свойства CLASSPATH и ROOTDIR.

Разворачиваемые файлы

Во время выполнения развертываются следующие файлы:

1.      Все файлы в каталогах классов проекта теста, за исключением файлов со следующими расширениями: .java, .execution, .testsuite, .deploy, .location, .artifact.

2.      Все ресурсы теста, связанные с используемым артефактом.

3.      Переменная CLASSPATH, указанная на странице общих параметров используемого артефакта.

 

Рекомендации по работе с переменной ROOTDIR

Переменная ROOTDIR вычисляется с помощью следующей процедуры:

Шаг 1

Сначала TPTP проверяет, задана ли переменная ROOTDIR в удаленной системе. Если переменная задана и указанный в ней каталог существует, берется значение этой переменной.

 

Если переменная ROOTDIR не задана или если указанный в ней каталог не существует в удаленной системе, TPTP проверяет, заданы ли переменные LOCAL_AGENT_TEMP_DIR, TEMP и TMP, и если хотя бы одна из них задана, использует соответствующий временный каталог. Переменные проверяются в том порядке, в котором они перечислены выше.

Шаг 2

TPTP проверяет, задана ли переменная среды USR_NAME в локальной системе. Если она не задана, используется значение свойства user.name Java (System.getProperty("user.name")).

Шаг 3

TPTP объединяет значения, полученные на шагах 1 и 2, и результат используется в качестве значения переменной ROOTDIR.

 

Рекомендации по работе с переменной CLASSPATH

Путь к файлам JAR, которые нужно развернуть в подкаталогах ROOTDIR, следует указывать в переменной CLASSPATH артефакта теста. Путь к файлам JAR, которые не нужно развертывать (например, потому что они уже существуют в целевой системе), но которые при этом должны быть доступны через переменную CLASSPATH, нужно указать в переменной  CLASSPATH расположения. Таким образом, разница между применением переменных CLASSPATH артефакта и расположения заключается в том, что в первом случае файл JAR развертывается (ссылка на файл в целевой системе создается в обоих случаях).

Исключенные библиотеки

Некоторые библиотеки не развертываются, даже если они указаны в переменной CLASSPATH артефакта, а именно:

 

Особенности применения контроллера агента

Клиенты рабочей среды более ранних версий, чем TPTP 3.3, несовместимы с контроллерами агента TPTP 3.3 и последующих версий. Они могут пользоваться только старыми версиями контроллеров агента (до TPTP 3.3). Клиенты TPTP 3.3 и последующих версий могут пользоваться как старыми, так и новыми контроллерами.   В целом в настоящий момент поддержка клиентов и серверов в TPTP выглядит следующим образом:

Клиенты TPTP 3.3 и последующих версий

клиенты >= TPTP 3.3 и сервер >= TPTP 3.3 [применяется новый протокол передачи файлов с незащищенными контроллерами и старый протокол передачи файлов с защищенными контроллерами]

клиенты >= TPTP 3.3 и сервер < TPTP 3.3 [старый протокол передачи файлов как с незащищенными, так и с защищенными контроллерами агента]

Клиенты TPTP более ранних версий

Клиенты < TPTP 3.3 и сервер >= TPTP 3.3 [это сочетание не работает, поскольку старые клиенты не поддерживают протокол передачи файлов нового сервера]

Клиенты < TPTP 3.3 и сервер < TPTP 3.3 [применяется старый протокол передачи файлов как с незащищенными, так и с защищенными контроллерами агента]

В TPTP 3.3 и TPTP 4.0 для повышения скорости развертывания были внесены изменения в службу передачи файлов. В результате эти серверы переведены на новый протокол, который не поддерживают клиенты TPTP более ранних версий, чем 3.3.   Новые клиенты поддерживают как новый, так и старый протоколы, поэтому никаких трудностей с развертыванием не будет.

Рекомендации по работе с операционными системами

Формат имен файлов

Убедитесь в том, что все имена файлов допустимы в операционной системе целевого компьютера. Например, при развертывании теста в системе Linux с клиента Windows нужно проверить, допустимо ли значение переменной ROOTDIR (если она передается).  

Абсолютные пути

Все пути должны быть абсолютными. Например, в Windows нужно указывать пути вида "C:\myRootDir", а в Linux - пути вида "/home/user/myRootDir".