Automatizimi i testimit të aplikacioneve në internet me anë të Selenium një zgjidhje e zakonshme ndër zhvilluesit e testimeve automatike, dhe C# është një nga gjuhët më të njohura të programimit, prandaj kombinimi i këtyre mjeteve nuk ngre pyetje. Për zhvillim me këto teknologji, shpesh përdoret softuer i njohur pronësor nga Microsoft për Windows, por mua më interesonte të dija se cilat alternativa të lira mund të përdoren pa u larguar nga stoku Selenium + C# për këtë detyrë.
Duke marrë parasysh se nuk gjetëm artikuj në rusisht mbi këtë temë, do të ndaj përvojën time në konfigurimin e ambientit për zhvillimin dhe debugimin e testimeve automatike në C# në Linux.
Si sistem operativ u përdor Kubuntu 18.04 64-bit me kernel Linux 4.15.0-99-generic, i instaluar nga një imazh ISO, i shkarkuar nga . Mendoj se do të përshtatet çdo distribucion modern dhe mjaft të njohur Linux.
Si CLR për C# u përdor kompajtori Mono JIT versioni 6.6.0.166. Instalimi i tij përfshiu kopjimin dhe ekzekutimin e komandave në terminal (në Kubuntu është Konsole) me .
Dhe si IDE u përdor , i instaluar njëlloj si Mono.
Selenium mbĂ«shtet shumĂ« shfletues, por mua mĂ« linte tĂ« merrem me tĂ«, dhe u kufizova nĂ« Chromeân, duke instaluar .
Pastaj krijojmë një zgjidhje në MonoDevelop:
- nisi MonoDevelop
- hyjmë në menunë "File"
- zgjidhim "Krijo zgjidhje"
- klikojmë ".NET"
- zgjidhim "Projekt bibliotekë NUnit" dhe klikojmë "Tjetër"
- specifikojmë emrin dhe rrugën e zgjidhjes, klikojmë "Krijo"

Për menaxhimin e shfletuesit do të nevojiten edhe disa paketa të tjera NuGet:
- hyjmë në menunë "Projekt" dhe zgjidhim "Shto paketa NuGet"
- kërkojmë dhe instalojmë paketën Selenium.WebDriver
- kërkojmë dhe instalojmë paketën Selenium.WebDriver.ChromeDriver

Ja, në fakt, dhe gjithçka që mbetet është të shkruajmë ndonjë kod për të kontrolluar se gjithçka është konfiguruar siç duhet. Kur krijohet zgjidhja, automatikisht krijohet një skedë për metodat e provave Test.cs, në të kam vendosur këto disa rreshta kodi:
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"), "Diçka nuk është si duhet =(");
driver.Quit();
}
}
}Kryerja e testit bëhet nga skeda "Testet modulare", nëse ajo nuk shfaqet, shkojmë në menunë "Shiko" dhe zgjidhim "Test".

Automatizimi i suksesshëm =)
Burimi: habr.com
