Test interfejsu użytkownika przy użyciu narzędzia Selenium

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Przeprowadzanie testów interfejsu użytkownika w ramach potoku wydania to doskonały sposób wykrywania nieoczekiwanych zmian i nie musi być trudny. W tym temacie opisano używanie selenium do testowania witryny internetowej podczas ciągłego wdrażania i testowania automatyzacji. Specjalne zagadnienia, które mają zastosowanie podczas uruchamiania testów interfejsu użytkownika, zostały omówione w zagadnieniach dotyczących testowania interfejsu użytkownika.

Zazwyczaj testy jednostkowe będą uruchamiane w przepływie pracy kompilacji i testach funkcjonalnych (UI) w przepływie pracy wydania po wdrożeniu aplikacji (zwykle w środowisku QA).

Aby uzyskać więcej informacji na temat automatyzacji przeglądarki Selenium, zobacz:

Tworzenie projektu testowego

Ponieważ nie ma szablonu do testowania Selenium, najprostszym sposobem rozpoczęcia pracy jest użycie szablonu testów jednostkowych. Spowoduje to automatyczne dodanie odwołań do platformy testowej i włączenie uruchamiania i wyświetlania wyników w Eksploratorze testów programu Visual Studio.

  1. W programie Visual Studio otwórz menu Plik i wybierz pozycję Nowy projekt, a następnie wybierz pozycję Test i wybierz pozycję Projekt testu jednostkowego. Alternatywnie otwórz menu skrótów dla rozwiązania i wybierz pozycję Dodaj, a następnie pozycję Nowy projekt, a następnie pozycję Projekt testowy jednostkowy.

  2. Po utworzeniu projektu dodaj odwołania do sterownika Selenium i przeglądarki używane przez przeglądarkę do wykonywania testów. Otwórz menu skrótów dla projektu Unit Test i wybierz pozycję Zarządzaj pakietami NuGet. Dodaj następujące pakiety do projektu:

    • Selenium.WebDriver
    • Selenium.Firefox.WebDriver
    • Selenium.WebDriver.ChromeDriver
    • Selenium.WebDriver.IEDriver

    Dodawanie pakietów sterowników przeglądarki do rozwiązania

  3. Utwórz testy. Na przykład poniższy kod tworzy domyślną klasę o nazwie MySeleniumTests , która wykonuje prosty test w witrynie internetowej Bing.com. Zastąp zawartość funkcji TheBingSearchTest kodem Selenium wymaganym do przetestowania aplikacji internetowej lub witryny internetowej. Zmień przypisanie przeglądarki w funkcji SetupTest na przeglądarkę, której chcesz użyć na potrzeby testu.

    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. Uruchom test Selenium lokalnie przy użyciu Eksploratora testów i sprawdź, czy działa.

Definiowanie potoku kompilacji

Potrzebny będzie potok kompilacji ciągłej integracji (CI), który kompiluje testy Selenium. Aby uzyskać więcej informacji, zobacz Tworzenie aplikacji klasycznej .NET dla systemu Windows.

Tworzenie aplikacji internetowej

Do przetestowania będzie potrzebna aplikacja internetowa. Możesz użyć istniejącej aplikacji lub wdrożyć jedną z nich w potoku wydania ciągłego wdrażania (CD). Powyższy przykładowy kod uruchamia testy względem Bing.com. Aby uzyskać szczegółowe informacje na temat konfigurowania własnego potoku wydania w celu wdrożenia aplikacji internetowej, zobacz Wdrażanie w usłudze Azure Web Apps.

Zdecyduj, jak wdrożysz i przetestujesz aplikację

Aplikację można wdrożyć i przetestować przy użyciu agenta hostowanego przez firmę Microsoft na platformie Azure lub własnego agenta instalowanego na serwerach docelowych.

  • W przypadku korzystania z agenta hostowanego przez firmę Microsoft należy użyć wstępnie zainstalowanych sterowników sieci Web Selenium na agentach systemu Windows (agentach o nazwie Hosted VS 20xx), ponieważ są one zgodne z wersjami przeglądarki zainstalowanymi na obrazach agentów hostowanych przez firmę Microsoft. Ścieżki do folderów zawierających te sterowniki można uzyskać ze zmiennych środowiskowych o nazwie IEWebDriver (Internet Explorer), ChromeWebDriver (Google Chrome) i GeckoWebDriver (Firefox). Sterowniki niewstępnie zainstalowane na innych agentach, takich jak Linux, Ubuntu i macOS. Zobacz również zagadnienia dotyczące testowania interfejsu użytkownika.

  • W przypadku korzystania z własnego agenta wdrażanego na serwerach docelowych agenci muszą być skonfigurowani do interaktywnego uruchamiania z włączonym automatycznym logowaniem. Zobacz Zagadnienia dotyczące agentów kompilacji i wydawania oraz testowania interfejsu użytkownika.

Uwzględnij test w wydaniu

  1. Jeśli nie masz istniejącego potoku wydania, który wdraża aplikację internetową:

    • Otwórz stronę Wydania w sekcji Azure Pipelines w usłudze Azure DevOps lub w centrum kompilacji i wydania w programie TFS (zobacz nawigację+ w portalu internetowym) i wybierz ikonę, a następnie wybierz pozycję Utwórz potok wydania.

      Tworzenie nowego potoku wydania

    • Wybierz szablon wdrożenia usługi aplikacja systemu Azure, a następnie wybierz pozycję Zastosuj.

    • W sekcji Artefakty na karcie Potok wybierz pozycję + Dodaj. Wybierz artefakty kompilacji i wybierz pozycję Dodaj.

      Wybieranie artefaktów

    • Wybierz ikonę Wyzwalacz ciągłego wdrażania w sekcji Artefakty na karcie Potok . W okienku Wyzwalacz ciągłego wdrażania włącz wyzwalacz, aby nowe wydanie zostało utworzone na podstawie każdej kompilacji. Dodaj filtr dla gałęzi domyślnej.

      Konfigurowanie ciągłego wdrażania

    • Otwórz kartę Zadania, wybierz sekcję Etap 1 i wprowadź informacje o subskrypcji oraz nazwę aplikacji internetowej, w której chcesz wdrożyć aplikację i testy. Te ustawienia są stosowane do zadania Wdrażanie usługi aplikacja systemu Azure Service.

      Konfigurowanie zmiennych

  2. Jeśli wdrażasz aplikację i testy w środowiskach, w których maszyny docelowe hostujące agentów nie mają zainstalowanego programu Visual Studio:

    • Na karcie Zadania potoku wydania wybierz ikonę + w sekcji Uruchom w agencie . Wybierz zadanie Instalator platformy testowej programu Visual Studio i wybierz pozycję Dodaj. Pozostaw wszystkie ustawienia w wartościach domyślnych.

      Dodawanie zadania Instalatora platformy testowej programu Visual Studio

      Zadanie można łatwiej znaleźć przy użyciu pola tekstowego wyszukiwania.

  3. Na karcie Zadania potoku wydania wybierz ikonę + w sekcji Uruchom w agencie . Wybierz zadanie Test programu Visual Studio i wybierz pozycję Dodaj.

    Dodawanie zadania testowego programu Visual Studio

  4. Jeśli do potoku dodano zadanie Instalator platformy testowej programu Visual Studio, zmień ustawienie Wersja platformy testowej w sekcji Opcje wykonywania zadania Test programu Visual Studio na Zainstalowane przez Instalatora narzędzi.

    Ustawianie wersji platformy testowej

    Jak mogę przekazać parametry do kodu testowego z potoku kompilacji?

  5. Zapisz potok wydania i uruchom nową wersję. Możesz to zrobić, kolejkując nową kompilację ciągłej integracji lub wybierając pozycję Utwórz wydanie z listy rozwijanej Wydanie w potoku wydania.

    Tworzenie nowej wersji

  6. Aby wyświetlić wyniki testu, otwórz podsumowanie wydania na stronie Wydania i wybierz link Testy .

Następne kroki