Condividi tramite


Test dell'interfaccia utente con Selenium

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

L'esecuzione di test dell'interfaccia utente come parte della pipeline di versione è un ottimo modo per rilevare modifiche impreviste e non deve essere difficile. Questo articolo descrive l'uso di Selenium per testare il sito Web durante una versione di distribuzione continua e l'automazione dei test. Considerazioni speciali che si applicano quando si eseguono test dell'interfaccia utente vengono illustrate nelle considerazioni relative ai test dell'interfaccia utente.

In genere verranno eseguiti unit test nel flusso di lavoro di compilazione e test funzionali (UI) nel flusso di lavoro di rilascio dopo la distribuzione dell'app (in genere in un ambiente di controllo di qualità).

Per altre informazioni sull'automazione del browser Selenium, vedere:

Creare il progetto di test

Poiché non è disponibile alcun modello per i test di Selenium, il modo più semplice per iniziare consiste nell'usare il modello unit test. Questo aggiunge automaticamente i riferimenti al framework di test e consente di eseguire e visualizzare i risultati da Esplora test di Visual Studio.

  1. In Visual Studio aprire il menu File e scegliere Nuovo progetto, quindi scegliere Test e selezionare Progetto unit test. In alternativa, aprire il menu di scelta rapida per la soluzione e scegliere Aggiungi , Nuovo progetto e quindi Progetto unit test.

  2. Dopo aver creato il progetto, aggiungere i riferimenti al driver Selenium e browser usati dal browser per eseguire i test. Aprire il menu di scelta rapida per il progetto unit test e scegliere Gestisci pacchetti NuGet. Aggiungere i pacchetti seguenti al progetto:

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

    Aggiunta dei pacchetti driver del browser alla soluzione

  3. Creare i test. Ad esempio, il codice seguente crea una classe predefinita denominata MySeleniumTests che esegue un semplice test nel sito Web Bing.com. Sostituire il contenuto della funzione TheBingSearchTest con il codice Selenium necessario per testare l'app Web o il sito Web. Modificare l'assegnazione del browser nella funzione SetupTest nel browser che si vuole usare per il 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. Eseguire il test Selenium in locale usando Esplora test e verificare che funzioni.

Definire la pipeline di compilazione

È necessaria una pipeline di compilazione di integrazione continua (CI) che compila i test Selenium. Per altre informazioni, vedere Creare l'app desktop .NET per Windows.

Creare l'app Web

È necessaria un'app Web da testare. È possibile usare un'app esistente o distribuirne una nella pipeline di versione della distribuzione continua (CD). Nell'esempio di codice precedente vengono eseguiti test su Bing.com. Per informazioni dettagliate su come configurare la propria pipeline di versione per distribuire un'app Web, vedere Distribuire in Azure App Web.

Decidere come distribuire e testare l'app

È possibile distribuire e testare l'app usando l'agente ospitato da Microsoft in Azure o un agente self-hosted installato nei server di destinazione.

  • Quando si usa l'agente ospitato da Microsoft, è consigliabile usare i driver Web Selenium preinstallati negli agenti Windows (agenti denominati Hosted VS 20xx) perché sono compatibili con le versioni del browser installate nelle immagini dell'agente ospitato da Microsoft. I percorsi delle cartelle contenenti questi driver possono essere ottenuti dalle variabili di ambiente denominate IEWebDriver (Internet Explorer), (Google Chrome) ChromeWebDriver e GeckoWebDriver (Firefox). I driver non sono preinstallati in altri agenti, ad esempio Linux, Ubuntu e macOS. Vedere anche Considerazioni sul test dell'interfaccia utente.

  • Quando si usa un agente self-hosted distribuito nei server di destinazione, gli agenti devono essere configurati per l'esecuzione interattiva con l'accesso automatico abilitato. Vedere Considerazioni sulla compilazione e sul rilascio di agenti e test dell'interfaccia utente.

Includere il test in una versione

  1. Se non si dispone di una pipeline di versione esistente che distribuisce l'app Web:

    • Aprire la pagina Versioni nella sezione Azure Pipelines in Azure DevOps o nell'hub Di compilazione e rilascio in TFS (vedere navigazione nel portale Web) e scegliere l'icona + , quindi scegliere Crea pipeline di versione.

      Creazione di una nuova pipeline di versione

    • Selezionare il modello di distribuzione del servizio app Azure e scegliere Applica.

    • Nella sezione Artefatti della scheda Pipeline scegliere + Aggiungi. Selezionare gli artefatti di compilazione e scegliere Aggiungi.

      Selezione degli artefatti

    • Scegliere l'icona del trigger di distribuzione continua nella sezione Artefatti della scheda Pipeline . Nel riquadro Trigger di distribuzione continua abilitare il trigger in modo che venga creata una nuova versione da ogni compilazione. Aggiungere un filtro per il ramo predefinito.

      Configurazione della distribuzione continua

    • Aprire la scheda Attività , selezionare la sezione Fase 1 e immettere le informazioni sulla sottoscrizione e il nome dell'app Web in cui si vuole distribuire l'app e i test. Queste impostazioni vengono applicate all'attività Distribuisci app Azure servizio.

      Configurazione delle variabili

  2. Se si distribuisce l'app e si esegue il test negli ambienti in cui i computer di destinazione che ospitano gli agenti non hanno Installato Visual Studio:

    • Nella scheda Attività della pipeline di versione scegliere l'icona + nella sezione Esegui sull'agente. Selezionare l'attività Programma di installazione della piattaforma di test di Visual Studio e scegliere Aggiungi. Lasciare tutte le impostazioni ai valori predefiniti.

      Aggiunta di un'attività Programma di installazione della piattaforma di test di Visual Studio

      È possibile trovare un'attività più facilmente usando la casella di testo di ricerca.

  3. Nella scheda Attività della pipeline di versione scegliere l'icona + nella sezione Esegui sull'agente. Selezionare l'attività Test di Visual Studio e scegliere Aggiungi.

    Aggiunta di un'attività test di Visual Studio

  4. Se alla pipeline è stata aggiunta l'attività Programma di installazione della piattaforma di test di Visual Studio, modificare l'impostazione Versione della piattaforma di test nella sezione Opzioni di esecuzione dell'attività Test di Visual Studio su Installato dal programma di installazione degli strumenti.

    Impostazione della versione della piattaforma di test

    Ricerca per categorie passare parametri al codice di test da una pipeline di compilazione?

  5. Salvare la pipeline di versione e avviare una nuova versione. A tale scopo, è possibile accodare una nuova build CI oppure scegliendo Crea versione dall'elenco a discesa Versione nella pipeline di versione.

    Creazione di una nuova versione

  6. Per visualizzare i risultati del test, aprire il riepilogo della versione nella pagina Versioni e scegliere il collegamento Test .

Passaggi successivi