Megosztás a következőn keresztül:


Felhasználói felület tesztelése a Selenium használatával

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

A felhasználói felület (UI) tesztelésének elvégzése a kiadási folyamat részeként nagyszerű módszer a váratlan változások észlelésére, és nem kell nehéznek lennie. Ez a cikk azt ismerteti, hogy a Selenium használatával tesztelheti webhelyét a folyamatos üzembe helyezési és tesztelési automatizálás során. A felhasználói felületi tesztek futtatásakor alkalmazott speciális szempontokat a felhasználói felület tesztelési szempontjai tárgyalják.

Általában egységteszteket fog futtatni a buildelési munkafolyamatban, és funkcionális (felhasználói felületi) teszteket a kiadási munkafolyamatban az alkalmazás üzembe helyezése után (általában egy minőségbiztosítási környezetben).

További információ a Selenium böngésző automatizálásáról:

Tesztprojekt létrehozása

Mivel a szelénteszteléshez nincs sablon, a legegyszerűbben a Unit Test sablont használhatja. Ez automatikusan hozzáadja a tesztelési keretrendszer referenciáit, és lehetővé teszi az eredmények futtatását és megtekintését a Visual Studio Test Explorerből.

  1. A Visual Studióban nyissa meg a Fájl menüt, és válassza az Új projekt, majd a Tesztelés, majd az Egységteszt projekt lehetőséget. Másik lehetőségként nyissa meg a megoldás helyi menüjét, és válassza a Hozzáadás , majd az Új projekt , majd a Unit Test Project lehetőséget.

  2. A projekt létrehozása után adja hozzá a böngésző által a tesztek végrehajtásához használt szelén- és böngészőillesztő-hivatkozásokat. Nyissa meg a Unit Test projekt helyi menüjét, és válassza a NuGet-csomagok kezelése lehetőséget. Adja hozzá a következő csomagokat a projekthez:

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

    A böngészőillesztő-csomagok hozzáadása a megoldáshoz

  3. Hozza létre a teszteket. Az alábbi kód például létrehoz egy MySeleniumTests nevű alapértelmezett osztályt, amely egy egyszerű tesztet hajt végre a Bing.com webhelyen. Cserélje le a TheBingSearchTest függvény tartalmát a webalkalmazás vagy webhely teszteléséhez szükséges Selenium-kódra . Módosítsa a SetupTest függvény böngésző-hozzárendeléséta teszthez használni kívánt böngészőre.

    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. Futtassa a szeléntesztet helyileg a Test Explorer használatával, és ellenőrizze, hogy működik-e.

A buildelési folyamat definiálása

Szüksége van egy folyamatos integrációs (CI) buildelési folyamatra, amely létrehozza a szelénteszteket. További információ: .NET asztali alkalmazás létrehozása Windowshoz.

A webalkalmazás létrehozása

A teszteléshez webalkalmazásra van szüksége. Használhat egy meglévő alkalmazást, vagy üzembe helyezhet egyet a folyamatos üzembe helyezés (CD) kiadási folyamatában. Az előző példakód teszteket futtat Bing.com. A saját kiadási folyamat webalkalmazások üzembe helyezésére való beállításáról az Üzembe helyezés az Azure Web Appsben című témakörben olvashat.

Az alkalmazás üzembe helyezésének és tesztelésének meghatározása

Az alkalmazást üzembe helyezheti és tesztelheti a Microsoft által üzemeltetett Azure-ügynökkel, vagy egy saját üzemeltetésű ügynökkel, amelyet a célkiszolgálókra telepít.

  • A Microsoft által üzemeltetett ügynök használatakor a Windows-ügynökökre előre telepített Selenium-webillesztőket kell használnia (az ügynökök neve Hosted VS 20xx), mert kompatibilisek a Microsoft által üzemeltetett ügynökképekre telepített böngészőverziókkal. Az illesztőprogramokat tartalmazó mappák elérési útjai az (Internet Explorer), (Google Chrome) és GeckoWebDriver (Firefox) ChromeWebDriver nevű IEWebDriver környezeti változókból kérhetők le. Az illesztőprogramok nincsenek előre telepítve más ügynökökre, például Linux, Ubuntu és macOS-ügynökökre. Lásd még a felhasználói felület tesztelési szempontjait.

  • Ha a célkiszolgálókon üzembe helyez egy saját üzemeltetésű ügynököt , az ügynököket úgy kell konfigurálni, hogy interaktívan fussanak az autologon engedélyezve van. Lásd a buildelési és kiadási ügynököket és a felhasználói felület tesztelési szempontjait.

A teszt belefoglalása egy kiadásba

  1. Ha nem rendelkezik a webalkalmazást üzembe helyező meglévő kiadási folyamatokkal:

    • Nyissa meg a Kiadások lapot az Azure DevOps Azure Pipelines szakaszában vagy a TFS Build & Release Hubjában (lásd a webes portál navigációját), és válassza az ikont, majd válassza a + Kiadási folyamat létrehozása lehetőséget.

      Új kiadási folyamat létrehozása

    • Válassza ki a Azure-alkalmazás szolgáltatás üzembehelyezési sablont, és válassza az Alkalmaz lehetőséget.

    • A Folyamat lap Összetevők szakaszában válassza a + Hozzáadás lehetőséget. Válassza ki a buildösszetevőket, és válassza a Hozzáadás lehetőséget.

      Az összetevők kiválasztása

    • Válassza a Folyamatos üzembe helyezés eseményindító ikonját a Folyamat lap Összetevők szakaszában. A Folyamatos üzembehelyezési eseményindító panelen engedélyezze az eseményindítót, hogy minden buildből létrejöjjön egy új kiadás. Adjon hozzá egy szűrőt az alapértelmezett ághoz.

      Folyamatos üzembe helyezés konfigurálása

    • Nyissa meg a Feladatok lapot, válassza az 1 . szakaszt, és adja meg az előfizetés adatait, valamint annak a webalkalmazásnak a nevét, ahol telepíteni szeretné az alkalmazást és a teszteket. Ezek a beállítások a Azure-alkalmazás szolgáltatás üzembe helyezése feladatra lesznek alkalmazva.

      A változók konfigurálása

  2. Ha az alkalmazást és a teszteket olyan környezetekben helyezi üzembe, ahol az ügynököket üzemeltető célgépeken nincs telepítve a Visual Studio:

    • A kiadási folyamat Feladatok lapján válassza a + Futtatás ügynökön szakasz ikonját. Válassza ki a Visual Studio Tesztplatform-telepítő feladatát, és válassza a Hozzáadás lehetőséget. Hagyja meg az összes beállítást az alapértelmezett értéken.

      Visual Studio Test Platform Installer-feladat hozzáadása

      A keresési szövegmezővel könnyebben megtalálhatja a feladatokat.

  3. A kiadási folyamat Feladatok lapján válassza a + Futtatás ügynökön szakasz ikonját. Válassza ki a Visual Studio tesztfeladatot, és válassza a Hozzáadás lehetőséget.

    Visual Studio-tesztfeladat hozzáadása

  4. Ha hozzáadta a Visual Studio Tesztplatform-telepítő feladatot a folyamathoz, módosítsa a Tesztelési platform verzióbeállítását a Visual Studio Tesztfeladat Végrehajtási beállítások szakaszában az Eszközök telepítője által telepítettre.

    A tesztplatform verziójának beállítása

    Hogyan paramétereket átadni a tesztkódnak egy buildelési folyamatból?

  5. Mentse a kiadási folyamatot, és indítsa el az új kiadást. Ezt megteheti egy új CI-build sorba állításával, vagy a kiadási folyamat Kiadás legördülő listájában a Kiadás létrehozása gombra kattintva.

    Új kiadás létrehozása

  6. A teszteredmények megtekintéséhez nyissa meg a kiadás összegzését a Kiadások lapon, és válassza a Tesztek hivatkozást.

Következő lépések