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 . 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 .
A kao IDE korišten je , 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 .
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"

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

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".

Uspješna automatizacija =)
Izvor: habr.com
