Selenium testovi na C# u Linuxu

Automatizacija testiranja web aplikacija uz pomoć Selenium je često rješenje među razvojnom zajednicom automatiziranih testova, a C# jedan je od najpopularnijih programskih jezika, stoga kombinacija ovih alata ne iznenađuje. Za razvoj koristeći ove tehnologije, često se koristi popularni proprietarni softver od Microsofta za Windows, no zanimalo me koje slobodne alternative mogu koristiti bez odlaska od stacka Selenium + C# za ovaj zadatak.

Budući da na ruskom jeziku nisam pronašao članke na ovu temu, podijelit ću svoje iskustvo u postavljanju okruženja za razvoj i debagiranje automatiziranih testova u C# na Linuxu.

Kao operativni sustav korištena je Kubuntu 18.04 64-bit s Linux kernelom 4.15.0-99-generic, instalirana s ISO slike preuzete s službene stranice. Smatram da će odgovarati bilo koja moderna i dovoljno popularna Linux distribucija.

Uloga CLR za C# preuzela je Mono JIT kompajler verzije 6.6.0.166. Njegova instalacija uključivala je sekvencijalno kopiranje i izvođenje naredbi u terminalu (u Kubuntu to je Konsole) s ove stranice.

A kao IDE korišten je MonoDevelop 7.8.4 (build 2), instaliran na isti način kao Mono.

Selenium podržava mnoge preglednike, ali mi je bilo previše teško te sam se ograničio na Chrome‘, instalirajući 64-bit .deb paket.

Zatim kreiramo rješenje u MonoDevelopu:

  • pokrećemo MonoDevelop
  • otvorimo izbornik "Datoteka"
  • biramo "Kreiraj rješenje"
  • kliknemo " .NET"
  • biramo "Projekt biblioteke NUnit" i kliknemo "Dalje"
  • navodimo naziv i put rješenja, kliknemo "Kreiraj"

Selenium testovi na C# u Linuxu

Za upravljanje preglednikom trebaju nam još neki NuGet paketi:

  • idemo u izbornik "Projekt" i biramo "Dodaj NuGet pakete"
  • tražimo i instaliramo paket Selenium.WebDriver
  • tražimo i instaliramo paket Selenium.WebDriver.ChromeDriver

Selenium testovi na C# u Linuxu

Eto, to je to, preostaje napisati neki kod kako bismo provjerili da je sve ispravno postavljeno. Kada se rješenje kreira, automatski se kreira datoteka za testne metode Test.cs, u koju sam dodao nekoliko redaka koda:

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"), "Nešto nije u redu =(");
            driver.Quit();
        }
    }
}

Pokretanje testa vrši se iz kartice "Modularni testovi", ako nije prikazana, idemo u izbornik "Pregledati" i biramo "Test".

Selenium testovi na C# u Linuxu

Uspješna automatizacija =)

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster