Sdílet prostřednictvím


Provádění napříč systémy

TaEF podporuje možnost spouštět Te.exe na jednom počítači, ale spouštět testy na samostatném počítači. TaEF ověřuje, autorizuje a nasazuje potřebné binární soubory ke spuštění testů a zaprokoluje všechny informace zpět do původní konzoly.

Požadavky pro

Pro vzdálené spouštění testů jsou nezbytné následující požadavky:

  • Na cílovém počítači musíte nainstalovat a spustit službu Te.Service (x86 nebo x64).

Spouštění s využitím účtů domény

  • Účet domény musí být správcem nebo členem místní skupiny "Remote TAEF Users" na cílovém počítači.

Spouštění s účty nepatřícími k doméně

  • Místní (nedoménový účet) musí existovat se stejným uživatelským jménem a heslem na obou počítačích.

  • Tento uživatel musí být členem místní skupiny Remote TAEF Users na cílovém počítači.

  • Na hostitelském počítači může místní uživatel spustit Te.exenebo případně přidat obecné přihlašovací údaje místního uživatele do správce přihlašovacích údajů.

    cmdkey /generic:<targetmachine> /user:<user_name> /pass:[PLACEHOLDER]
    
  • Pokud používáte počítač připojený k doméně, musí mít počítač připojený k doméně vyloučení hranice PROTOKOLU IPSec.

Vzdálené spouštění testů

/runOn:

Pokud chcete testy spouštět vzdáleně, musíte zadat parametr /runOn:<machine name> , který se má Te.exe spolu se zbývajícími příkazy. Pokud splňujete požadavky, zbytek uživatelského prostředí bude stejný jako při místním spouštění testů. Veškerý výstup protokolu se uloží nebo zapíše do místního počítače.

Například:

te unittests\wex.common.tests.dll /runon:TAEFTest1
  • Odešle všechny potřebné binární soubory pro váš test do cílového počítače (TAEFTest1) a vzdáleně spustí všechny testy TAEF, které existují v rámci wex.common.tests.dll, a přitom se znovu přihlásí ke konzole.

Pokud se vám nepodaří připojit ke vzdálenému počítači kvůli 0x800706BA HRESULT a jste si jisti, že jste název počítače napsali správně, zkuste použít IP adresu počítače nebo použít přepínač /disableTimeouts . Někdy může být zpoždění DNS dostatečně velké, aby mohlo dojít k vypršení časového limitu pokusu o připojení.

Poznámka: Pokud se jedná o první zadání příkazu /runOn: může být nutné kliknout na tlačítko Odblokovat v dialogovém okně vyloučení brány firewall pro Te.exe.

Testovací závislosti

Te.exe automaticky určí všechny závislosti nativních a spravovaných modulů vašeho testu a odešlou je do vzdáleného počítače spolu s testovací knihovnou DLL. Tím se vyloučí systémové binární soubory a také všechny knihovny MODELU COM, které test vyžaduje.

Další závislosti testů můžete zadat ručně pomocí parametru příkazového řádku /TestDependencies ve formě seznamu souborů nebo adresářů oddělených středníkem, které se mají kopírovat.

  • Soubory

    Specifikace každého souboru může obsahovat zástupné znaky (test.txt; test*.dll; atd.). Například:

    te unittests\wex.common.tests.dll /runon:TAEFTest1 /TestDependencies:*verification*.jpg;mysample.txt
    
    • Odešle všechny potřebné binární soubory pro váš test na TAEFTest1 a také všechny soubory, které odpovídají souborům zadaným v parametru /TestDependencies .
  • Adresáře

    TAEF podporuje rekurzivní vyhledávání adresářů, které existují v adresáři nebo pod adresářem, který obsahuje testovací binární soubor. Například:

    te unittests\wex.common.tests.dll /runon:TAEFTest1 /TestDependencies:unittests\...
    
    • Odešle všechny potřebné binární soubory pro váš test do TAEFTest1 i všechny soubory/adresáře uvnitř či pod adresářem unittests. TaEF uchovává hierarchii adresářů.
    _    te unittests\wex.common.tests.dll /runon:TAEFTest1 /TestDependencies:unittests\*.jpg...
    
    • Odešle všechny potřebné binární soubory pro váš test na TAEFTest1 a také všechny soubory jpg v adresáři unittests nebo v jeho podadresářích. TaEF uchovává hierarchii adresářů.

    Poznámka:Pokud zadáte rekurzivní nebo nerekurzivní hledání adresáře pro adresář, který neexistuje v testovacím adresáři nebo pod tímto testovacím adresářem, zkopírují se všechny soubory do vzdáleného počítače, ale hierarchie adresářů bude zploštěna.

Pomocí metadat DeploymentItem můžete určit závislosti testů.

Kontext uživatele

Ve výchozím nastavení se TAEF pokusí spustit testy na vzdáleném počítači s vaším uživatelským kontextem. Provede to takto:

  • Výčet všech aktivních relací na vzdáleném počítači a vyhledání relace, která je vlastněná vámi.
    • Pokud TAEF najde relaci, kterou vlastníte na vzdáleném počítači, provede testy v rámci této relace (na této pracovní ploše atd.).

      Poznámka: Nemusí to být konzolová relace. Může se jednat o relaci vzdálené plochy.

    • Pokud TAEF nenajde relaci, kterou vlastníte na vzdáleném počítači, spustí testy jako uživatel, který je přihlášený ke konzolové relaci (na této ploše).

    • A konečně, pokud nemáte relaci na vzdáleném počítači a nikdo není přihlášen do konzolové relace, TAEF spustí testy v relaci 0 (neinteraktivní).

Spustit jako

Pokud kromě parametru /runOn zadáte hodnotu /runAs, použije funkce TAEF kromě hodnot, které jsou nezbytné pro splnění nastavení /runAs, výše uvedené heuristiky. Například:

te unittests\wex.common.tests.dll /runon:TAEFTest1 /runas:system
  • Provede všechny testy TAEF, které existují v rámci wex.common.tests.dll na TAEFTest1 se systémovým účtem.

Jak to funguje

  • Te.exe se připojí k instanci služby Te.Service, která běží na vzdáleném počítači.
    • Ověřování systému Windows (Negotiate) vás ověřuje ve službě Te.Service.
    • Služba Te.Service vás autorizuje ověřením, že jste správcem nebo členem místní skupiny Vzdálené uživatele TAEF na vzdáleném počítači.
  • Te.Service vytvoří adresář v rámci RemoteTests se stejným názvem jako testovací dll.
  • Te.exe sestaví seznam souborů, které jsou nezbytné ke spuštění testů na vzdáleném počítači. Tento seznam obsahuje:
    • Nezbytné binární soubory TAEF
    • Všechny nativní a/nebo spravované binární závislosti pro testovací knihovnu DLL (s výjimkou systémových binárních souborů)
    • Všechny další soubory, které jste zadali v parametru /TestDependencies
  • Te.exe odešle do služby Te.Service seznam testovacích závislostí spolu se seznamem CCS pro každý soubor.
  • Te.Service vyhledá každý soubor na vzdáleném počítači a porovná hodnoty CRC. Jakékoliv shody jsou odstraněny ze seznamu a seznam je odeslán zpět klientovi.
  • Pokud v seznamu závislostí zůstanou nějaké soubory, Te.exe každou závislost odešle do služby Te.Service.
    • Te.Service je uloží do <adresáře Te.Service\>RemoteTests\<test dll name> directory.
  • Te.exe požádá Te.Service o spuštění nové instance Te.ProcessHost.exe na vzdáleném počítači pomocí správného kontextu uživatele.
  • Te.exe se připojí ke vzdálené instanci Te.ProcessHost.exe a zahájí provádění testů.