Teste Selenium pe C# în Linux

Automatizarea testării aplicațiilor web folosind Selenium o soluție populară printre dezvoltatorii de teste automate, iar C# este unul dintre cele mai populare limbaje de programare, așa că combinația acestor instrumente nu ridică întrebări. Pentru dezvoltarea folosind aceste tehnologii, adesea se utilizează software proprietar popular de la Microsoft pentru Windows, însă am fost curios să văd ce alternative gratuite pot fi folosite fără a ne abate de la stiva Selenium + C# pentru această sarcină.

Deoarece nu am găsit articole în limba rusă pe acest subiect, vreau să împărtășesc experiența mea de setare a mediului pentru dezvoltarea și depanarea testelor automate pe C# în Linux.

Ca sistem de operare am folosit Kubuntu 18.04 64-bit cu nucleul Linux 4.15.0-99-generic, instalat de pe imaginea ISO descărcată de pe site-ul oficial. Cred că se va potrivi orice distribuție Linux modernă și suficient de populară.

În rolul CLR pentru C# a fost utilizat compilatorul JIT Mono versiunea 6.6.0.166. Instalarea sa a constat în copierea și executarea secvențială a comenzilor în terminal (în Kubuntu este Konsole) de pe această pagină.

Iar ca IDE am folosit MonoDevelop 7.8.4 (build 2), instalat similar cu Mono.

Selenium suportă numeroase browsere, dar mi-a fost lene să le instalez pe toate și m-am limitat la Chrome’, instalând pachetul .deb de 64-bit.

Apoi creăm soluția în MonoDevelop:

  • lansăm MonoDevelop
  • intrăm în meniul „Fișier”
  • alegem „Creare soluție”
  • apăsăm „.NET”
  • alegem „Proiect bibliotecă NUnit” și clic pe „Următorul”
  • indicăm numele și calea soluției, clic pe „Creare”

Teste Selenium pe C# în Linux

Pentru gestionarea browserului, mai sunt necesare câteva pachete NuGet:

  • mergem în meniul „Proiect” și alegem „Adaugă pachete NuGet”
  • căutăm și instalăm pachetul Selenium.WebDriver
  • căutăm și instalăm pachetul Selenium.WebDriver.ChromeDriver

Teste Selenium pe C# în Linux

Iată, practic, și totul, rămâne să scriem un cod pentru a verifica dacă totul s-a configurat corect. La crearea soluției, se generează automat un fișier pentru metodele de test Test.cs, în care am adăugat 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"), "Ceva nu este în regulă =(");
            driver.Quit();
        }
    }
}

Testul se lansează din tab-ul „Teste modulare”, dacă acesta nu este vizibil, mergem în meniul „Vizualizare” și selectăm „Test”.

Teste Selenium pe C# în Linux

Automatizare de succes =)

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster