Test uživatelského rozhraní s využitím rozhraní Selenium
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Testování uživatelského rozhraní (UI) v rámci kanálu verze je skvělý způsob detekce neočekávaných změn a nemusí být obtížné. Tento článek popisuje použití Selenium k otestování webu během průběžného nasazování a automatizace testů. Zvláštní aspekty, které platí při spouštění testů uživatelského rozhraní, jsou popsány v aspektech testování uživatelského rozhraní.
Testy jednotek obvykle spustíte v pracovním postupu sestavení a funkční testy (UI) v pracovním postupu vydané verze po nasazení aplikace (obvykle do prostředí pro kontrolu kvality).
Další informace o automatizaci prohlížeče Selenium najdete v tématech:
Vytvoření testovacího projektu
Vzhledem k tomu, že neexistuje žádná šablona pro testování Selenium, nejjednodušší způsob, jak začít, je použít šablonu Testování jednotek. Tím se automaticky přidají odkazy na testovací architekturu a umožní vám spustit a zobrazit výsledky z Průzkumníka testů sady Visual Studio.
V sadě Visual Studio otevřete nabídku Soubor a zvolte Nový projekt a pak zvolte Test a vyberte Projekt testování jednotek. Případně otevřete místní nabídku pro řešení a zvolte Přidat nový projekt a pak projekt testování jednotek.
Po vytvoření projektu přidejte odkazy ovladače Selenium a prohlížeče používané prohlížečem ke spuštění testů. Otevřete místní nabídku projektu Testování jednotek a zvolte Spravovat balíčky NuGet. Do projektu přidejte následující balíčky:
- Selenium.WebDriver
- Selenium.Firefox.WebDriver
- Selenium.WebDriver.ChromeDriver
- Selenium.WebDriver.IEDriver
Vytvořte testy. Například následující kód vytvoří výchozí třídu s názvem MySeleniumTests , která provádí jednoduchý test na webu Bing.com. Nahraďte obsah funkce TheBingSearchTest kódem Selenium potřebným k otestování webové aplikace nebo webu. Změňte přiřazení prohlížeče ve funkci SetupTest na prohlížeč, který chcete použít pro test.
using System; using System.Text; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Firefox; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.IE; namespace SeleniumBingTests { /// <summary> /// Summary description for MySeleniumTests /// </summary> [TestClass] public class MySeleniumTests { private TestContext testContextInstance; private IWebDriver driver; private string appURL; public MySeleniumTests() { } [TestMethod] [TestCategory("Chrome")] public void TheBingSearchTest() { driver.Navigate().GoToUrl(appURL + "/"); driver.FindElement(By.Id("sb_form_q")).SendKeys("Azure Pipelines"); driver.FindElement(By.Id("sb_form_go")).Click(); driver.FindElement(By.XPath("//ol[@id='b_results']/li/h2/a/strong[3]")).Click(); Assert.IsTrue(driver.Title.Contains("Azure Pipelines"), "Verified title of the page"); } /// <summary> ///Gets or sets the test context which provides ///information about and functionality for the current test run. ///</summary> public TestContext TestContext { get { return testContextInstance; } set { testContextInstance = value; } } [TestInitialize()] public void SetupTest() { appURL = "http://www.bing.com/"; string browser = "Chrome"; switch(browser) { case "Chrome": driver = new ChromeDriver(); break; case "Firefox": driver = new FirefoxDriver(); break; case "IE": driver = new InternetExplorerDriver(); break; default: driver = new ChromeDriver(); break; } } [TestCleanup()] public void MyTestCleanup() { driver.Quit(); } } }
Spusťte test Selenium místně pomocí Průzkumníka testů a zkontrolujte, jestli funguje.
Definování kanálu buildu
Potřebujete kanál buildu kontinuální integrace (CI), který sestaví testy Selenium. Další informace najdete v tématu Vytvoření desktopové aplikace .NET pro Windows.
Vytvoření webové aplikace
K otestování potřebujete webovou aplikaci. Můžete použít existující aplikaci nebo ji nasadit v kanálu verze průběžného nasazování (CD). Předchozí příklad kódu spouští testy na Bing.com. Podrobnosti o tom, jak nastavit vlastní kanál verze pro nasazení webové aplikace, najdete v tématu Nasazení do Azure Web Apps.
Rozhodnutí o nasazení a otestování aplikace
Aplikaci můžete nasadit a otestovat pomocí agenta hostovaného Microsoftem v Azure nebo agenta v místním prostředí, který na cílové servery nainstalujete.
Při použití agenta hostovaného Microsoftem byste měli použít webové ovladače Selenium, které jsou předinstalované na agentech Systému Windows (agenti s názvem Hosted VS 20xx), protože jsou kompatibilní s verzemi prohlížeče nainstalovanými na imagích agentů hostovaných Microsoftem. Cesty ke složkám obsahujícím tyto ovladače lze získat z proměnných prostředí s názvem
IEWebDriver
(Internet Explorer),ChromeWebDriver
(Google Chrome) aGeckoWebDriver
(Firefox). Ovladače nejsou předinstalované na jiných agentech, jako jsou agenti Linuxu, Ubuntu a macOS. Podívejte se také na aspekty testování uživatelského rozhraní.Pokud používáte agenta v místním prostředí, který nasazujete na cílové servery, musí být agenti nakonfigurovaní tak, aby běželi interaktivně s povoleným automatickým protokolem. Podívejte se na aspekty sestavování a vydávání agentů a testování uživatelského rozhraní.
Zahrnutí testu do verze
Pokud nemáte existující kanál verze, který nasadí vaši webovou aplikaci:
Otevřete stránku Vydané verze v části Azure Pipelines v Azure DevOps nebo centru sestavení a vydání v TFS (viz navigace na webovém portálu) a zvolte ikonu a pak zvolte + Vytvořit kanál verze.
Vyberte šablonu nasazení služby Aplikace Azure a zvolte Použít.
V části Artefakty na kartě Kanál zvolte + Přidat. Vyberte artefakty sestavení a zvolte Přidat.
V části Artefakty na kartě Kanál zvolte ikonu triggeru průběžného nasazování. V podokně triggeru průběžného nasazování povolte trigger, aby se vytvořila nová verze z každého sestavení. Přidejte filtr pro výchozí větev.
Otevřete kartu Úkoly, vyberte oddíl Fáze 1 a zadejte informace o předplatném a název webové aplikace, do které chcete aplikaci a testy nasadit. Tato nastavení se použijí na úlohu Nasadit Aplikace Azure Service.
Pokud nasazujete aplikaci a testy do prostředí, kde cílové počítače, které hostují agenty, nemají nainstalovanou sadu Visual Studio:
Na kartě Úlohy kanálu verze zvolte + ikonu v části Spustit v agentu . Vyberte úlohu instalačního programu testovací platformy sady Visual Studio a zvolte Přidat. Ponechte všechna nastavení na výchozích hodnotách.
Úkol můžete snadněji najít pomocí vyhledávacího textového pole.
Na kartě Úlohy kanálu verze zvolte + ikonu v části Spustit v agentu . Vyberte úlohu Visual Studio Test a zvolte Přidat.
Pokud jste do kanálu přidali úlohu instalačního programu testovací platformy sady Visual Studio, změňte nastavení verze testovací platformy v části Možnosti spuštění úlohy Visual Studio Test na Nainstalovanou instalačním programem nástrojů.
Uložte kanál verze a spusťte novou verzi. Můžete to udělat tak, že zařadíte do fronty nový build CI nebo zvolíte možnost Vytvořit verzi z rozevíracího seznamu vydané verze v kanálu verze.
Pokud chcete zobrazit výsledky testů, otevřete souhrn vydané verze na stránce Vydané verze a zvolte odkaz Testy .