Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Při spouštění automatizovaných testů v kanálu CI/CD možná budete potřebovat speciální konfiguraci, abyste mohli spouštět testy uživatelského rozhraní, jako jsou testy uživatelského rozhraní Selenium nebo Appium nebo programové testy uživatelského rozhraní. Tento článek popisuje typické aspekty spouštění testů uživatelského rozhraní.
Požadavky
Seznamte se s agenty a nasaďte agenta ve Windows.
Režim bez hlavy nebo režim s viditelným uživatelským rozhraním?
Při spouštění testů Selenium pro webovou aplikaci můžete prohlížeč spustit dvěma způsoby:
Režim bez hlavy. V tomto režimu se prohlížeč spouští normálně, ale bez viditelných komponent uživatelského rozhraní. I když tento režim není užitečný pro procházení webu, je užitečný pro spouštění automatizovaných testů bezobslužným způsobem v kanálu CI/CD. Prohlížeče Chrome a Firefox je možné spouštět v bezobsadovém režimu.
Tento režim obvykle spotřebovává méně prostředků na počítači, protože uživatelské rozhraní se nevykresluje a testy běží rychleji. V důsledku toho může být na stejném počítači spuštěno paralelně více testů, aby se snížila celková doba provádění testů.
Snímky obrazovky se dají zachytit v tomto režimu a použít k řešení potíží s chybami.
Poznámka:
Prohlížeč Microsoft Edge se momentálně nedá spustit v bezhlavém režimu.
Viditelný režim uživatelského rozhraní. V tomto režimu se prohlížeč spouští normálně a komponenty uživatelského rozhraní jsou viditelné. Při spouštění testů v tomto režimu ve Windows se vyžaduje speciální konfigurace agentů .
Pokud spouštíte testy uživatelského rozhraní pro desktopovou aplikaci, například testy Appium pomocí WinAppDriveru nebo programových testů uživatelského rozhraní, je nutná speciální konfigurace agentů .
Tip
Komplexní testy uživatelského rozhraní obvykle obvykle běží dlouho. Při použití viditelného režimu uživatelského rozhraní v závislosti na testovacím rozhraní možná nebudete moct paralelně spouštět testy na stejném počítači, protože aplikace musí být zaměřená na příjem událostí klávesnice a myši. V tomto scénáři můžete urychlit testovací cykly spuštěním testů paralelně na různých počítačích. Podívejte se na spouštění testů paralelně pro jakýkoli spouštěč testů a spouštění testů paralelně pomocí úlohy Visual Studio Test.
Testování uživatelského rozhraní v režimu viditelného uživatelského rozhraní
Pro agenty, kteří budou spouštět testy uživatelského rozhraní v režimu viditelného uživatelského rozhraní, se vyžaduje speciální konfigurace.
Viditelné testování uživatelského rozhraní pomocí agentů hostovaných Microsoftem
Viditelné testování uživatelského rozhraní v agentech hostovaných Microsoftem se nepodporuje. Test selže s chybovou zprávou , že prvek není interagovatelný. Agenti hostovaní Microsoftem podporují testování bezhlavého prohlížeče.
Testování uživatelského rozhraní bezobrazového režimu pomocí agentů hostovaných Microsoftem
Agenti hostovaní Microsoftem jsou předem nakonfigurovaní pro testování uživatelského rozhraní a testy uživatelského rozhraní pro webové aplikace. Agenti hostovaní Microsoftem jsou také předem nakonfigurovaní s oblíbenými prohlížeči a odpovídajícími verzemi webového ovladače, které lze použít pro spouštění testů Selenium. Prohlížeče a odpovídající webové ovladače se pravidelně aktualizují. Další informace o spouštění testů Selenium najdete v tématu Test uživatelského rozhraní se Selenium.
Testování viditelného uživatelského rozhraní pomocí agentů Windows v místním prostředí
Agenti nakonfigurovaní tak, aby běželi jako služba, můžou spouštět testy Selenium pouze s bezobslužnými prohlížeči. Pokud nepoužíváte headless prohlížeč nebo pokud spouštíte testy uživatelského rozhraní pro desktopové aplikace, musí být agenti Windows nakonfigurovaní tak, aby běželi jako interaktivní proces s povoleným automatickým přihlášením.
Při konfiguraci agentů po zobrazení výzvy ke spuštění jako služby vyberte Ne. Následné kroky pak umožňují nakonfigurovat agenta pro automatické přihlášení. Při spuštění testů uživatelského rozhraní se aplikace a prohlížeče spustí v kontextu uživatele zadaného v nastavení automatického přihlášení.
Pokud používáte Vzdálenou plochu k přístupu k počítači, na kterém běží agent s automatickým přihlášením, pouhé odpojení Vzdálené plochy způsobí, že se počítač uzamkne a všechny testy uživatelského rozhraní, které na tomto agentu běží, mohou selhat. Aby nedošlo k selhání, použijte na vzdáleném počítači příkaz tscon k odpojení od Vzdálené plochy. Příklad:
%windir%\System32\tscon.exe 1 /dest:console
V tomto příkladu je číslo 1 ID relace vzdálené plochy. Toto číslo se může mezi vzdálenými relacemi změnit, ale můžete ho zobrazit ve Správci úloh. Pokud chcete také automatizovat vyhledání aktuálního ID relace, vytvořte dávkový soubor obsahující následující kód:
for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
%windir%\System32\tscon.exe %%s /dest:console
)
Uložte dávkový soubor a vytvořte k němu zástupce na ploše, poté změňte vlastnosti zástupce na 'Spustit jako správce'. Spuštění dávkového souboru z této klávesové zkratky se odpojí od vzdálené plochy, ale zachová relaci uživatelského rozhraní a umožní spuštění testů uživatelského rozhraní.
Zřizování agentů na virtuálních počítačích Azure pro testování uživatelského rozhraní
Pokud zřizujete virtuální počítače v Azure, je konfigurace agenta pro testování uživatelského rozhraní dostupná prostřednictvím artefaktu agenta pro DevTest Labs.
Nastavení rozlišení obrazovky
Před spuštěním testů uživatelského rozhraní možná budete muset upravit rozlišení obrazovky tak, aby se aplikace vykreslovali správně. K tomuto účelu je na Marketplace k dispozici nástroj pro rozlišení obrazovky. Tuto úlohu v pipeline použijte k nastavení rozlišení obrazovky na hodnotu podporovanou strojovým zařízením agenta. Ve výchozím nastavení tento nástroj nastaví rozlišení na optimální hodnotu podporovanou počítačem agenta.
Pokud při používání úkolu rozlišení obrazovky dojde k selháním, ujistěte se, že je agent nakonfigurovaný tak, aby běžel s povoleným automatickým přihlášením a že všechny relace vzdálené plochy jsou bezpečně odpojené pomocí příkazu tscon, jak je popsáno výše.
Poznámka:
Úloha nástroje pro rozlišení obrazovky funguje na sloučeného agenta pro sestavení, vydání nebo testování a nelze ji použít se zastaralou úlohou Spustit funkční testy. Úloha nástroje pro řešení také nefunguje pro virtuální počítače Azure.
Řešení potíží se selháními v testech uživatelského rozhraní
Když testy uživatelského rozhraní spouštíte bezobslužně, zachytávání diagnostických dat, jako snímky obrazovky nebo video, je užitečné pro zjišťování stavu aplikace v případě selhání.
Pořídit snímky obrazovky
Většina rozhraní pro testování uživatelského rozhraní poskytuje možnost zachytit snímky obrazovky. Shromážděné snímky obrazovky jsou k dispozici jako příloha výsledků testů, když jsou tyto výsledky publikovány na server.
Pokud ke spuštění testů použijete testovací úlohu sady Visual Studio, musí být zachycené snímky obrazovek přidány jako výsledný soubor, aby byly k dispozici v sestavě testu. K tomu použijte následující kód:
Nejprve se ujistěte, že testContext je definován v testovací třídě. Příklad: public TestContext TestContext { get; set; }
Přidání souboru snímku obrazovky pomocí TestContext.AddResultFile(fileName); //Where fileName is the name of the file.
Pokud k publikování výsledků použijete úlohu Publikovat výsledky testů, přílohy výsledků testů se dají publikovat jenom v případě, že používáte formát výsledků VSTest (TRX) nebo formát výsledků NUnit 3.0.
Přílohy výsledků nelze publikovat, pokud použijete výsledky testu JUnit nebo xUnit. Je to proto, že tyto formáty výsledků testů nemají formální definici příloh ve schématu výsledků. K publikování testovacích příloh můžete použít jeden z následujících přístupů.
Pokud spouštíte testy v kanálu sestavení (CI), můžete k publikování dalších souborů vytvořených v testech použít úlohu Kopírování a publikování artefaktů sestavení. Ty se zobrazí na stránce Artefakty souhrnu sestavení.
Pomocí rozhraní REST API publikujte potřebné přílohy. Ukázky kódu najdete v tomto úložišti GitHubu.
Zachycení videa
Pokud ke spuštění testů použijete testovací úlohu sady Visual Studio, můžete zachytit video testu a je automaticky k dispozici jako příloha výsledku testu. V tomto případě je nutné nakonfigurovat kolektor dat videa v souboru .runsettings a tento soubor musí být zadán v nastavení úlohy.
Nápověda a podpora
- Podívejte se na naši stránku pro řešení potíží.
- Získejte rady o Stack Overflow a získejte podporu prostřednictvím komunity vývojářů.