Automazione dei test delle applicazioni web utilizzando Selenio una soluzione comune tra gli sviluppatori di autotest e C# uno dei linguaggi di programmazione più popolari, quindi la combinazione di questi strumenti non solleva dubbi. Per sviluppare utilizzando queste tecnologie, viene spesso utilizzato il popolare software proprietario di Microsoft per Windows, ma mi interessava sapere quali analoghi gratuiti possono essere utilizzati senza allontanarsi dallo stack Selenium + C# per questo compito.
Poiché non ho trovato articoli in lingua russa su questo argomento, condividerò la mia esperienza nella creazione di un ambiente per lo sviluppo e il debug degli autotest in C# su Linux.
Il sistema operativo utilizzato era Kubuntu 18.04 a 64 bit con kernel Linux 4.15.0-99-generico, installato da un'immagine ISO scaricata da
Il compilatore Mono JIT versione 6.6.0.166 ha funzionato come CLR per C#. La sua installazione consisteva nel copiare ed eseguire sequenzialmente i comandi nel terminale (in Kubuntu questo è Konsole) con
E usato come IDE
Selenium supporta molti browser, ma ero troppo pigro per preoccuparmi di tutto e mi sono limitato a farlo Chrome'om, avendo installato
Successivamente, creiamo una soluzione in MonoDevelop:
- avviare MonoDevelop
- vai al menu "File".
- seleziona “Crea soluzione”
- fare clic su ".NET"
- selezionare "Progetto libreria NUnit" e fare clic su "Avanti"
- indicare il nome e il percorso della soluzione, cliccare su “Crea”
Per controllare il browser, avrai bisogno anche di un paio di pacchetti NuGet:
- vai al menu "Progetto" e seleziona "Aggiungi pacchetti NuGet"
- cercare e installare il pacchetto Selenium.WebDriver
- cercare e installare il pacchetto Selenium.WebDriver.ChromeDriver
Questo è tutto, non resta che scrivere del codice per verificare che tutto sia configurato come dovrebbe. Quando creo una soluzione, viene creato automaticamente un file per i metodi di test Test.cs, nel quale inserisco le seguenti poche 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"), "Что-то не так =(");
driver.Quit();
}
}
}
Il test si lancia dalla scheda “Unit Test”; se non viene visualizzato andare nel menù “Visualizza” e selezionare “Test”.
Automazione riuscita =)
Fonte: habr.com