Test di Selenium su C# in Linux

Automazione dei test per applicazioni web tramite Selenium una soluzione comune tra gli sviluppatori di test automatici, ed C# è uno dei linguaggi di programmazione più popolari, quindi la combinazione di questi strumenti è comprensibile. Per sviluppare utilizzando queste tecnologie, spesso si utilizza un noto software proprietario di Microsoft per Windows; tuttavia, ero curioso di sapere quali alternative open-source potevano essere utilizzate rimanendo nell'ambito di Selenium + C# per questo compito.

Poiché non ho trovato articoli in lingua russa su questo argomento, condividerò la mia esperienza nell'impostazione dell'ambiente per lo sviluppo e il debug di test automatici su C# in Linux.

Come sistema operativo ho utilizzato Kubuntu 18.04 a 64 bit con il kernel Linux 4.15.0-99-generic, installato da un'immagine ISO scaricata da sito ufficiale. Penso che qualunque distribuzione Linux moderna e abbastanza popolare andrà bene.

Il CLR per C# era rappresentato dal compilatore JIT Mono versione 6.6.0.166. La sua installazione consisteva in una serie di comandi copiati e incollati nel terminale (in Kubuntu si usa Konsole) eseguiti da questa pagina.

E come IDE è stato utilizzato MonoDevelop 7.8.4 (build 2), installato in modo simile a Mono.

Selenium supporta diversi browser, ma per pigrizia mi sono limitato a Chromeinstallarlo il pacchetto .deb a 64 bit.

Dopo creiamo una soluzione in MonoDevelop:

  • avviamo MonoDevelop
  • andiamo al menu 'File'
  • selezioniamo 'Crea soluzione'
  • clicchiamo su '.NET'
  • selezioniamo 'Progetto libreria NUnit' e premiamo 'Avanti'
  • indichiamo il nome e il percorso della soluzione, clicchiamo su 'Crea'

Test di Selenium su C# in Linux

Per gestire il browser, avremo bisogno di un paio di pacchetti NuGet:

  • andiamo al menu 'Progetto' e selezioniamo 'Aggiungi pacchetti NuGet'
  • cerchiamo e installiamo il pacchetto Selenium.WebDriver
  • cerchiamo e installiamo il pacchetto Selenium.WebDriver.ChromeDriver

Test di Selenium su C# in Linux

Ecco, in sostanza, è tutto; resta solo da scrivere qualche codice per verificare che tutto sia configurato correttamente. Quando si crea la soluzione, viene automaticamente creato un file per i metodi di test Test.cs, in cui ho inserito le seguenti righe di codice:

using NUnit.Framework;
using System;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium;

namespace SeleniumTests
{
    [TestFixture()]
    public class Test
    {
        [Test()]
        public void TestCase()
        {
            IWebDriver driver = new ChromeDriver();
            driver.Navigate().GoToUrl("http://habr.com/");
            Assert.IsTrue(driver.Url.Contains("habr.com"), "Qualcosa non va =(");
            driver.Quit();
        }
    }
}

Il test viene avviato dalla scheda «Test modulari», se non è visibile, andiamo nel menu «Visualizza» e selezioniamo «Test».

Test di Selenium su C# in Linux

Automazione riuscita =)

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster