Automatizarea testării aplicațiilor web folosind Seleniu o soluție comună printre dezvoltatorii de autotest și C# unul dintre cele mai populare limbaje de programare, astfel încât combinarea acestor instrumente nu ridică întrebări. Pentru a dezvolta folosind aceste tehnologii, este adesea folosit software-ul proprietar popular de la Microsoft pentru Windows, dar am fost interesat să știu ce analogi gratuite pot fi utilizați fără a pleca de la stiva Selenium + C# pentru această sarcină.
Deoarece nu am găsit niciun articol în limba rusă pe acest subiect, îmi voi împărtăși experiența de a crea un mediu pentru dezvoltarea și depanarea autotestelor în C# pe Linux.
Sistemul de operare folosit a fost Kubuntu 18.04 pe 64 de biți cu kernel Linux 4.15.0-99-generic, instalat dintr-o imagine ISO descărcată de pe
Compilatorul Mono JIT versiunea 6.6.0.166 a acționat ca un CLR pentru C#. Instalarea sa a constat în copierea și executarea secvențială a comenzilor în terminal (în Kubuntu, acesta este Konsole) cu
Și folosit ca IDE
Selenium acceptă multe browsere, dar mi-a fost prea lene să mă deranjez cu totul și m-am limitat la Chrome'om, având instalat
Apoi, creăm o soluție în MonoDevelop:
- lansează MonoDevelop
- accesați meniul „Fișier”.
- selectați „Creați soluție”
- faceți clic pe „.NET”
- selectați „NUnit Library Project” și faceți clic pe „Next”
- indicați numele și calea soluției, faceți clic pe „Creați”
Pentru a controla browserul, veți avea nevoie și de câteva pachete NuGet:
- accesați meniul „Proiect” și selectați „Adăugați pachete NuGet”
- căutați și instalați pachetul Selenium.WebDriver
- căutați și instalați pachetul Selenium.WebDriver.ChromeDriver
Asta e tot, tot ce rămâne este să scrii niște cod pentru a verifica dacă totul este configurat așa cum trebuie. La crearea unei soluții, se creează automat un fișier pentru metodele de testare Test.cs, în care pun următoarele câteva rânduri de cod:
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();
}
}
}
Testul este lansat din fila „Teste unitare”; dacă nu este afișat, accesați meniul „Vizualizare” și selectați „Test”.
Automatizare de succes =)
Sursa: www.habr.com