Veebirakenduste testimise automatiseerimine Seleen levinud lahendus autotesti arendajate seas ja C# üks populaarsemaid programmeerimiskeeli, seega ei tekita nende tööriistade kombinatsioon küsimusi. Nende tehnoloogiate abil arendamiseks kasutatakse sageli Microsofti Windowsi jaoks mõeldud populaarset patenteeritud tarkvara, kuid mind huvitas teada, milliseid tasuta analooge saab kasutada ilma selle ülesande jaoks Selenium + C# virust lahkumata.
Kuna ma ei leidnud sellel teemal ühtegi venekeelset artiklit, jagan oma kogemusi Linuxi C#-i automaattestide arendamise ja silumise keskkonna loomisest.
Kasutatud OS oli Kubuntu 18.04 64-bitine Linuxi kerneliga 4.15.0-99-generic, installitud saidilt alla laaditud ISO-pildi kaudu
Mono JIT kompilaatori versioon 6.6.0.166 toimis C# jaoks CLR-ina. Selle installimine seisnes käskude järjestikuses kopeerimises ja käivitamises terminali (Kubuntus on see Konsole)
Ja seda kasutatakse IDE-na
Selenium toetab paljusid brausereid, kuid olin liiga laisk, et kõigega vaeva näha ja piirdusin sellega Kroom'om, pärast installimist
Järgmisena loome MonoDevelopis lahenduse:
- käivitage MonoDevelop
- minge menüüsse "Fail".
- valige "Loo lahendus"
- klõpsake ".NET"
- valige "NUniti raamatukogu projekt" ja klõpsake nuppu "Järgmine".
- märkige lahenduse nimi ja tee, klõpsake nuppu "Loo"
Brauseri juhtimiseks vajate ka paari NuGeti paketti:
- minge menüüsse "Projekt" ja valige "Lisa NuGeti paketid"
- otsige üles ja installige pakett Selenium.WebDriver
- otsige üles ja installige pakett Selenium.WebDriver.ChromeDriver
See on kõik, jääb üle vaid kirjutada kood, et kontrollida, kas kõik on seadistatud nii, nagu peab. Lahenduse loomisel luuakse automaatselt testmeetodite fail Test.cs, kuhu panen järgmised paar koodirida:
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();
}
}
}
Test käivitatakse vahekaardilt "Ühikutestid"; kui seda ei kuvata, minge menüüsse "Vaade" ja valige "Test".
Edukas automatiseerimine =)
Allikas: www.habr.com