Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Przeprowadzanie testów interfejsu użytkownika jako części procesu publikacji jest doskonałym sposobem na wykrywanie nieoczekiwanych zmian i nie musi być trudne. W tym artykule opisano używanie selenium do testowania witryny internetowej podczas ciągłego wdrażania i automatyzacji testowania. 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 uruchamiane są w przepływie pracy kompilacji, a testy funkcjonalne (interfejsu użytkownika) 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 umożliwi uruchamianie oraz wyświetlanie wyników z Eksploratora testów programu Visual Studio.
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.
Po utworzeniu projektu dodaj odwołania do Selenium i sterownika przeglądarki, które są używane 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
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(); } } }
Uruchom test Selenium lokalnie przy użyciu Eksploratora testów i sprawdź, czy działa.
Definiowanie potoku kompilacji
Potrzebujesz potoku 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 testowania potrzebna jest aplikacja internetowa. Możesz użyć istniejącej aplikacji lub wdrożyć jedną z nich w potoku wydania ciągłego wdrażania (CD). Poprzedni przykład kodu uruchamia testy względem Bing.com. Aby uzyskać szczegółowe informacje na temat konfigurowania własnego potoku publikacji do wdrożenia aplikacji internetowej, zobacz Wdrażanie w usłudze Azure Web Apps.
Wybieranie sposobu wdrażania i testowania aplikacji
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ć sterowników sieci Web Selenium, które są wstępnie zainstalowane 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) iGeckoWebDriver
(Firefox). Sterowniki nie są wstępnie zainstalowane na 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 autologonem. Zobacz Zagadnienia dotyczące agentów kompilacji i wydawania oraz testowania interfejsu użytkownika.
Uwzględnij test w wydaniu
Jeśli nie masz istniejącego potoku wydawniczego do wdrażania aplikacji internetowej:
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 Utwórz potok wydania.
Wybierz szablon Azure App Service Deployment, a następnie wybierz opcję Zastosuj.
W sekcji Artefakty na zakładce Potok wybierz + Dodaj. Wybierz artefakty kompilacji i wybierz pozycję Dodaj.
Wybierz ikonę Wyzwalacz ciągłego wdrażania w sekcji Artefakty na zakładce Pipeline. W okienku Wyzwalacz ciągłego wdrażania, włącz wyzwalacz, aby nowe wydanie było tworzone na podstawie każdej kompilacji. Dodaj filtr dla gałęzi domyślnej.
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 App Service Azure.
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 wydawniczego wybierz ikonę + w sekcji Uruchom na agencie. Wybierz zadanie Instalator platformy testowej Visual Studio a następnie wybierz opcję Dodaj. Pozostaw wszystkie ustawienia w wartościach domyślnych.
Zadanie można łatwiej znaleźć przy użyciu pola tekstowego wyszukiwania.
Na karcie Zadania potoku publikacji wybierz ikonę w części Uruchom w agencie. Wybierz zadanie Test programu Visual Studio i wybierz pozycję Dodaj.
Jeśli dodałeś do potoku zadanie Instalator platformy testowej programu Visual Studio, zmień ustawienie Wersji platformy testowej w sekcji Opcje wykonywania zadania Test programu Visual Studio na Zainstalowane przez Instalatora narzędzi.
Jak mogę przekazać parametry do kodu testowego z pipeline'u budowania?
Zapisz potok publikacji i rozpocznij nowe wydanie. Możesz to zrobić, kolejkując nową kompilację CI lub wybierając Utwórz wydanie z listy rozwijanej Wydanie w potoku wydania.
Aby wyświetlić wyniki testu, otwórz podsumowanie wydania na stronie Wydania i wybierz link Testy .