Automatizimi i testimit të aplikacioneve web me ndihmën e Selenium një zgjidhje e njohur mes zhvilluesve të autotesteve, dhe C# një nga gjuhët më të njohura të programimit, prandaj kombinimi i këtyre mjeteve nuk zgjon dyshime. Për zhvillimin me këto teknologji, shpesh përdoret një software pronësor i njohur nga Microsoft për Windows, por më interesonte të dija se cilat janë alternativat e lira që mund të përdoren pa u larguar nga stoku Selenium + C# për këtë detyrë.
Duke qenë se nuk gjeta artikuj në gjuhën ruse mbi këtë temë, do të ndaj përvojën time të konfigurimit të mjedisit për zhvillimin dhe debugimin e autotestave në C# në Linux.
Si sistem operativ, u përdor Kubuntu 18.04 64-bit me kernel Linux 4.15.0-99-generic, instaluar nga një imazh ISO që u shkarkua nga . Mendoj se do të përshtatet çdo distribucion modern dhe mjaft të njohur të Linux-it.
Në rolin e CLR për C# përdorej kompajleri Mono JIT versioni 6.6.0.166. Instalimi i tij përfshinte kopjimin dhe ekzekutimin e urdhërave në terminal (në Kubuntu është Konsole) nga .
Ndërsa për IDE përdoreshin , e instaluar në mënyrë të ngjashme me Mono.
Selenium mbështet shumë shfletues, por për mua ishte bezdi dhe u kufizova Chromenë, duke instaluar .
Më pas krijojmë një zgjidhje në MonoDevelop:
- hapim MonoDevelop
- shkonte në menunë «File»
- zgjedhim «Krijo zgjidhje»
- kliko «.NET»
- zgjedhim «Projekt librarie NUnit» dhe shtypim «Tjetër»
- shpjegojmë emrin dhe rrugën e zgjidhjes, klikojmë «Krijo»

Për të menaxhuar shfletuesin, do të nevojiten edhe disa paketa NuGet:
- shkonte në menunë «Projekt» dhe zgjidhte «Shto paketa NuGet»
- kërkojmë dhe instalojmë paketën Selenium.WebDriver
- kërkojmë dhe instalojmë paketën Selenium.WebDriver.ChromeDriver

Ja, në fakt, është gjithçka, mbetet të shkruajmë ndonjë kod për të verifikuar që gjithçka është vendosur si duhet. Kur krijoni një zgjidhje, krijohet automatikisht një skedar për metodat testuese 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"), "Ka diçka që nuk shkon =(");
driver.Quit();
}
}
}Testi fillon nga skeda "Testet Modulare"; nëse nuk shfaqet, shkojmë te menuja "Shiko" dhe zgjedhim "Test".

Automatizim të suksesshëm =)
Burimi: habr.com
