Web aplikazioen probaren automatizazioa erabiliz Selenium autotest garatzaileen artean ohiko irtenbidea, eta C# programazio-lengoaia ezagunenetako bat, beraz, tresna hauen konbinazioak ez du inolako zalantzarik sortzen. Teknologia hauek erabiliz garatzeko, Microsoft-en Windows-en jabedun software ezaguna erabiltzen da maiz, baina interesatzen zitzaidan jakitea zer analogo libre erabil daitezkeen zeregin honetarako Selenium + C# pilatik irten gabe.
Gai honi buruzko errusierazko artikulurik aurkitu ez dudanez, Linux-en C#-n autotestak garatzeko eta arazketarako ingurune bat konfiguratzeko esperientzia partekatuko dut.
Erabilitako sistema eragilea Kubuntu 18.04 64 biteko Linux kernel 4.15.0-99 generikoa izan zen, deskargatutako ISO irudi batetik instalatuta.
Mono JIT konpiladorearen 6.6.0.166 bertsioak C#rako CLR gisa jardun zuen. Bere instalazioa terminalean komandoak sekuentzialki kopiatu eta exekutatzen zituen (Kubuntu-n hau Konsole da)
Eta IDE gisa erabiltzen da
Selenium-ek nabigatzaile asko onartzen ditu, baina alferra nengoen guztiarekin kezkatzeko eta horretara mugatu nintzen Chrome'om, instalatuta
Ondoren, irtenbide bat sortzen dugu MonoDevelop-en:
- abiarazi MonoDevelop
- joan "Fitxategia" menura
- hautatu "Sortu irtenbidea"
- egin klik ".NET"
- hautatu "NUnit Library Project" eta egin klik "Hurrengoa"
- adierazi irtenbidearen izena eta bidea, sakatu "Sortu"
Arakatzailea kontrolatzeko, NuGet pakete pare bat ere beharko dituzu:
- joan "Proiektua" menura eta hautatu "Gehitu NuGet paketeak"
- bilatu eta instalatu Selenium.WebDriver paketea
- bilatu eta instalatu Selenium.WebDriver.ChromeDriver paketea
Hori da guztia, dena behar den moduan konfiguratuta dagoela egiaztatzeko koderen bat idaztea baino ez da geratzen. Soluzio bat sortzean, Test.cs proba metodoetarako fitxategi bat sortzen da automatikoki, eta bertan kode lerro batzuk jartzen ditut:
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();
}
}
}
Proba "Unit Tests" fitxatik abiarazten da; bistaratzen ez bada, joan "Ikusi" menura eta hautatu "Test".
Automatizazio arrakastatsua =)
Iturria: www.habr.com