TPTP 本身只關注 CLASSPATH 和 ROOTDIR 內容。
執行時要部署的檔案包括:
1. 測試專案的類別路徑上的所有檔案,但下列檔案類型除外:.java、 .execution、.testsuite、.deploy、.location、.artifact。
2. 執行測試使用的「構件」的任何相關的測試資產
3. 執行測試使用的「構件」在「一般內容」中的 CLASSPATH 內容。
下列程序可計算 ROOTDIR:
步驟 1 |
TPTP 首先在遠端機器上尋找 ROOTDIR 位置內容(如果已指定);如果存在,則以此值作為這個步驟的輸出。
如果未指定 ROOTDIR 位置內容,或已指定但不存在遠端機器上,TPTP 會以遠端機器的環境上找到的暫時目錄來衍生一個位置內容; 依序尋找 LOCAL_AGENT_TEMP_DIR、TEMP 及 TMP,並以最先找到的值作為這個步驟的輸出。 |
步驟 2 |
TPTP 在本端機器上尋找 USR_NAME 位置內容。如果不存在,則從 Java 取出 user.name 內容 (System.getProperty("user.name")). |
步驟 3 |
TPTP 串連步驟 1 和 2 的輸出,作為可用的 ROOTDIR。 |
若要設定在 ROOTDIR 下部署並以 ROOTDIR 為根目錄的 JAR,請設定構件的 CLASSPATH 參數; 若要設定不必部署但仍需要放在類別路徑中的 JAR(例如,已存在要部署的位置/機器上), 請在您的位置中設定 CLASSPATH 參數。因此,構件和位置 CLASSPATH 的差別在於是否部署或參照 JAR,或只是在部署位置上參照。
有些程式庫雖然列在構件的類別路徑內容中,但並不會部署。它們是:
TPTP 3.3 以前的工作台用戶端無法使用 TPTP 3.3 及更新版本的代理程式控制器(必須繼續使用 TPTP 3.3 以前的舊版代理程式控制器)。 TPTP 3.3 及更新版本的用戶端可以使用舊版和新版的代理程式控制器。總而言之,TPTP 目前支援的主從架構如下:
用戶端 >= TPTP 3.3,伺服器 >= TPTP 3.3 [未受保護的 Agent Controller 使用新的檔案傳送通訊協定,安全的 AC 使用舊的檔案傳送通訊協定]
用戶端 >= TPTP 3.3,伺服器 < TPTP 3.3 [未受保護和安全的 Agent Controller 都使用舊的檔案傳送通訊協定]
用戶端 < TPTP 3.3,Server >= TPTP 3.3 [由於舊版用戶端無法辨識新的伺服器檔案傳送通訊協定,這個組合無效]
用戶端 < TPTP 3.3,伺服器 < TPTP 3.3 [未受保護和安全的 Agent Controller 都使用舊的檔案傳送通訊協定]
TPTP 3.3 和 TPTP 4.0 已變更檔案轉送服務(加速部署),要求使用新的檔案傳送服務通訊協定, 但 TPTP 3.3 以前的任何用戶端無法辨識這種新的通訊協定,因此,測試部署將會失敗。 較新的用戶端可辨識新版和舊版的通訊協定,因此可以部署。
請確定內容中設定的任何檔案路徑正確地反映目標機器的 OS 命名慣例。比方說,如果從 Windows 用戶端部署至 Linux 機器, 且已指定 ROOTDIR,請確定值為 Linux 的合法路徑。
所有路徑必須是絕對路徑。例如,在 Windows 上,"C:\myRootDir" 是適當的, 在 Linux 上,"/home/user/myRootDir" 是適當的 - 所有路徑皆必須為絕對,而非相對路徑。