跨電腦執行
TAEF 支援在一部電腦上執行Te.exe,但在另一部電腦上執行測試的能力。 TAEF 會驗證、授權及部署必要的二進位檔,以執行測試,並將所有資訊記錄回原始主控台。
先決條件
若要從遠端執行測試,需要下列需求:
- 您必須在目的電腦上安裝並執行te.Service (x86 或 x64) 。
使用網域帳戶執行
- 網域帳戶必須是目的電腦上本機 「遠端 TAEF 使用者」群組的系統管理員或成員。
使用非網域帳戶執行
本機 (非網域帳戶) 必須同時存在於這兩部電腦上具有相同的使用者名稱和密碼。
該使用者必須是目的電腦上本機 「遠端 TAEF 使用者」群組的成員。
在主機電腦上,本機使用者可以執行Te.exe,或者,您可以將本機使用者的一般認證新增至認證管理員。
cmdkey /generic:<targetmachine> /user:<user_name> /pass:[PLACEHOLDER]
如果您是在已加入網域的電腦上執行,則加入網域的電腦必須有 IPSec 界限排除。
從遠端執行測試
/runOn:
若要從遠端執行測試,您必須指定要Te.exe的 /runOn: < machine name >參數以及其餘的命令。 如果您符合必要條件,則其餘使用者體驗將會與在本機執行測試時所找到的相同。 所有記錄輸出都會儲存/寫入本機電腦。
例如:
te unittests\wex.common.tests.dll /runon:TAEFTest1
- 將測試所需的所有二進位檔傳送至目的電腦 (TAEFTest1) ,並從遠端執行存在於wex.common.tests.dll內的所有 TAEF 測試,同時登入主控台。
如果您因為 HRESULT 0x800706BA而無法連線到遠端電腦,而且您確定已正確拼字電腦名稱稱,請嘗試使用電腦的 IP 位址或使用 /disableTimeouts 參數。 有時候 DNS 延遲可能夠大,導致連線嘗試逾時。
注意: 如果這是第一次指定 /runOn: 命令,您可能需要在防火牆排除對話方塊上按一下 [ 解除封鎖 ] 來Te.exe。
測試相依性
Te.exe會自動判斷測試的所有原生和受控模組相依性,並將它們連同測試 dll 一起傳送至遠端電腦。 這不包括 系統 二進位檔,以及測試所需的任何 COM 程式庫。
您可以透過 /TestDependencies 命令列參數,以分號分隔的檔案或目錄清單形式手動指定其他測試相依性。
檔案
每個檔案規格都可以包含萬用字元 (test.txt;test*.dll;etc.) 。 例如:
te unittests\wex.common.tests.dll /runon:TAEFTest1 /TestDependencies:*verification*.jpg;mysample.txt
- 將測試所需的所有二進位檔傳送至 TAEFTest1,以及符合 /TestDependencies 參數中所指定檔案的任何檔案。
目錄
TAEF 支援遞迴目錄搜尋存在於包含測試二進位檔之目錄 或下方 的目錄。 例如:
te unittests\wex.common.tests.dll /runon:TAEFTest1 /TestDependencies:unittests\...
- 將測試所需的所有二進位檔傳送至 TAEFTest1,以及 unittests 目錄內或下方的所有檔案/目錄。 TAEF 會保留目錄階層。
_ te unittests\wex.common.tests.dll /runon:TAEFTest1 /TestDependencies:unittests\*.jpg...
- 將測試所需的所有二進位檔傳送至 TAEFTest1,以及 unittests 目錄內或下方的所有 jpg 檔案。 TAEF 會保留目錄階層。
注意:如果您針對不存在於測試目錄 或下方 的目錄指定遞迴或非遞迴目錄搜尋,則會將所有檔案複製到遠端電腦,但目錄階層將會扁平化。
您可以 aso 透過DeploymentItem 中繼資料指定測試相依性
使用者內容
根據預設,TAEF 會嘗試使用您的使用者內容在遠端電腦上執行測試。 其運作方式如下:
- 列舉遠端電腦上的所有作用中會話,並尋找您所擁有的會話。
如果 TAEF 在遠端電腦上找到您所擁有的會話,它會在該桌面上執行該會話中的測試 (等等。) 。
注意: 這不一定是主控台會話。 它可以是遠端桌面會話。
如果 TAEF 在 遠端電腦上找不到您擁有的會話,它會以登入主控台會話的使用者身分執行測試, (在該桌面上 (等等。) 。
最後,如果您沒有在遠端電腦上擁有會話,而且沒有任何使用者登入主控台會話,TAEF 會在會話 0 中執行測試, (非互動式) 。
RunAs
如果您除了/runOn 之外指定 /runAs值,TAEF 還會使用上述啟發學習法,以及滿足/runAs設定所需的學習法。 例如:
te unittests\wex.common.tests.dll /runon:TAEFTest1 /runas:system
- 使用系統帳戶執行存在於 TAEFTest1 上wex.common.tests.dll內的所有 TAEF 測試。
運作方式
- Te.exe連線到遠端電腦上執行的 Te.Service 實例
- Windows 驗證 (交涉) 向 Te.Service 驗證您。
- Te.Service 會驗證您是遠端電腦上本機 「遠端 TAEF 使用者」群組的系統管理員或成員,以授權您。
- Te.Service 會在 RemoteTests下建立目錄,其名稱與測試 dll 相同。
- Te.exe建置在遠端電腦上執行測試所需的檔案清單。 此清單包括:
- 必要的 TAEF 二進位檔
- 測試 dll 的所有原生和/或受控二進位相依性, (排除系統二進位檔)
- /TestDependencies參數中指定的任何其他檔案
- Te.exe將測試相依性清單以及每個檔案的 CC 傳送至 Te.Service。
- Te.Service 會尋找遠端電腦上的每個檔案,並比較 CRC 值。 任何相符專案都會從清單中移除,並將清單傳回給用戶端。
- 如果相依性清單中有任何剩餘的檔案,Te.exe會將每個相依性傳送至 Te.Service。
- Te.Service 會將它們儲存在 < Te.Service 目錄 > \RemoteTests\ < test dll 名稱 > 目錄中。
- Te.exe會要求 Te.Service 使用正確的 使用者內容,在遠端電腦上啟動新的Te.ProcessHost.exe實例。
- Te.exe連線到遠端Te.ProcessHost.exe實例,並開始執行測試。