Aspekty testování uživatelského rozhraní

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

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.

Bezobrazný režim nebo viditelný režim uživatelského rozhraní?

Při spouštění testů Selenium pro webovou aplikaci můžete prohlížeč spustit dvěma způsoby:

  1. Bezobsadní režim. 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 bezobsadovém režimu.

  2. 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. Pro všechny spouštěče testů a paralelní spouštění testů pomocí úlohy Visual Studio Test si prohlédněte testy paralelně.

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

Agenti hostovaní Microsoftem jsou předem nakonfigurovaní pro testování uživatelského rozhraní a testy uživatelského rozhraní pro webové aplikace i desktopové 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 bezobjemový 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 protokolem.

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 pomocí automatickéhologu. 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éhologu.

Pokud ke vzdálené ploše použijete přístup k počítači, na kterém běží agent s automatickým protokolem, stačí odpojit vzdálenou plochu a všechny testy uživatelského rozhraní, které na tomto agentu běží, selžou. Pokud se chcete vyhnout selhání, pomocí příkazu tscon na vzdáleném počítači se odpojte 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 zástupce na ploše a 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.

agentArtifactDTL

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 tomu je k dispozici úloha nástroje pro rozlišení obrazovky z Marketplace. Tuto úlohu v kanálu použijte k nastavení rozlišení obrazovky na hodnotu podporovanou počítačem agenta. Ve výchozím nastavení tento nástroj nastaví rozlišení na optimální hodnotu podporovanou počítačem agenta.

Pokud při řešení obrazovky dojde k selháním, ujistěte se, že je agent nakonfigurovaný tak, aby běžel s povoleným automatickým protokolem 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 řešení obrazovky běží na sjednocené úlohu sestavení, vydání nebo testování a nelze ji použít s 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 jsou snímky obrazovky nebo video , je užitečné při zjišťování stavu aplikace při výskytu 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.

spustit Nastavení

Nápověda a podpora