Veebirakenduste testimise automatiseerimine kasutades Selenium populaarne lahendus automaattestide arendajate seas, ja C# ĂŒks populaarsemaid programmeerimiskeeli, seega nende tööriistade kombinatsioon ei tekita kĂŒsimusi. Nende tehnoloogiate kasutamiseks arendamisel kasutatakse sageli populaarsest Microsofti omandis olevast tarkvarast Windowsis, kuid mind huvitas, milliseid tasuta analooge saab kasutada, jÀÀdes samas Selenium + C# tehnoloogiatesse.
Kuna ma ei leidnud vene keeles artikleid selle teema kohta, siis jagan oma kogemust keskkonna seadistamisest automaattestide arendamiseks ja tÔrkeotsimiseks C#-s Linuxis.
KĂ€itusĂŒsteemina kasutati Kubuntu 18.04 64-bit koos Linuxi kerneliga 4.15.0-99-generic, mis paigaldati ISO-pildilt, mille laadisin alla . Arvan, et sobib iga kaasaegne ja piisavalt populaarne Linuxi distributsioon.
C# jaoks toimis CLR-na Mono JIT kompilaator versiooniga 6.6.0.166. Selle installatsioon hÔlmas jÀrkjÀrgulist kÀskude kopeerimist ja tÀitmist terminalis (Kubuntu-s on see Konsole) lehelt .
Ja IDE-na kasutati , paigaldatud samamoodi nagu Mono.
Selenium toetab mitmeid brausereid, kuid ma olin liiga laisk ja piirdusin ChromeChrome'iga, paigaldades .
SeejÀrel loome MonoDevelopis lahenduse:
- kÀivita MonoDevelop
- mine menĂŒĂŒsse âFailâ
- vali âLoo lahendusâ
- kliki â.NETâ
- vali âNUnit teegiprojektâ ja kliki âJĂ€tkaâ
- mĂ€rgi lahenduse nimi ja tee, kliki âLooâ

Brauseri haldamiseks vajame veel paar NuGet paketti:
- mine menĂŒĂŒsse âProjektâ ja vali âLisa NuGet paketteâ
- otsi ja installi pakett Selenium.WebDriver
- otsi ja installi pakett Selenium.WebDriver.ChromeDriver

Noh, tegelikult ongi kĂ”ik, nĂŒĂŒd tuleb kirjutada mĂ”ned read koodi, et kontrollida, kas kĂ”ik on Ă”igesti seadistatud. Lahenduse loomisel luuakse automaatselt testimeetodite Test.cs fail, kuhu ma panin jĂ€rgmised paar rida koodi:
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"), "Midagi on valesti =(");
driver.Quit();
}
}
}Testi kĂ€ivitamine toimub âMoodulite testidâ vahekaardilt, kui see ei ole nĂ€htaval, mine menĂŒĂŒsse âVaataâ ja vali âTestâ.

Edukas automatiseerimine =)
Allikas: habr.com
