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é. Toto téma 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íte spuštění a zobrazení výsledků z Průzkumníka testů sady Visual Studio.

  1. 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.

  2. 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

    Přidání balíčků ovladačů prohlížeče do vašeho řešení

  3. 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();
        }
      }
    }
    
  4. Spusťte test Selenium místně pomocí Průzkumníka testů a zkontrolujte, jestli funguje.

Definování kanálu buildu

Budete potřebovat kanál sestavení kontinuální integrace (CI), který sestaví testy Selenium. Další podrobnosti najdete v tématu Vytvoření desktopové aplikace .NET pro Windows.

Vytvoření webové aplikace

K otestování budete potřebovat webovou aplikaci. Můžete použít existující aplikaci nebo ji nasadit v kanálu verze průběžného nasazování (CD). Výše uvedený ukázkový kód 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.

Rozhodněte se, jak nasadíte a otestujete aplikaci.

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 Windows (agenti s názvem Hostovaná 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) a GeckoWebDriver (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 přihlášením. Podívejte se na aspekty sestavování a vydávání agentů a testování uživatelského rozhraní.

Zahrnutí testu do verze

  1. 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.

      Vytvoření nového kanálu 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ýběr artefaktů

    • 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.

      Konfigurace průběžného nasazování

    • 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.

      Konfigurace proměnných

  2. 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.

      Přidání úlohy instalačního programu testovací platformy sady Visual Studio

      Úkol můžete snadněji najít pomocí vyhledávacího textového pole.

  3. Na kartě Úlohy kanálu verze zvolte + ikonu v části Spustit v agentu . Vyberte úlohu Visual Studio Test a zvolte Přidat.

    Přidání úlohy Visual Studio Test

  4. 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ů.

    Nastavení verze testovací platformy

    Návody předat parametry testovacímu kódu z kanálu buildu?

  5. 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.

    Vytvoření nové verze

  6. Pokud chcete zobrazit výsledky testů, otevřete souhrn vydané verze na stránce Vydané verze a zvolte odkaz Testy .

Další kroky