Selenium-tests op C# op Linux

Automatisering van het testen van webapplicaties met behulp van Selenium een gemeenschappelijke oplossing onder autotest-ontwikkelaars, en C# een van de meest populaire programmeertalen, dus de combinatie van deze tools roept geen vragen op. Om met behulp van deze technologieën te ontwikkelen, wordt vaak populaire propriëtaire software van Microsoft voor Windows gebruikt, maar ik was geïnteresseerd om te weten welke gratis analogen kunnen worden gebruikt zonder voor deze taak de Selenium + C#-stack te verlaten.

Omdat ik geen Russischtalige artikelen over dit onderwerp heb gevonden, deel ik mijn ervaringen met het opzetten van een omgeving voor het ontwikkelen en debuggen van autotests in C# op Linux.

Het gebruikte besturingssysteem was Kubuntu 18.04 64-bit met Linux-kernel 4.15.0-99-generiek, geïnstalleerd vanaf een ISO-image gedownload van officiële website. Ik geloof dat elke moderne en redelijk populaire Linux-distributie voldoende is.

Mono JIT-compilerversie 6.6.0.166 fungeerde als een CLR voor C#. De installatie ervan bestond uit het opeenvolgend kopiëren en uitvoeren van opdrachten naar de terminal (in Kubuntu is dit Konsole) met deze pagina.

En gebruikt als IDE MonoDevelop 7.8.4 (build 2), op dezelfde manier geïnstalleerd als Mono.

Selenium ondersteunt veel browsers, maar ik was te lui om me overal mee bezig te houden en beperkte me daartoe Chrome'om, na installatie 64-bits .deb-pakket.

Vervolgens creëren we een oplossing in MonoDevelop:

  • start MonoDevelop
  • ga naar het menu "Bestand".
  • selecteer “Oplossing maken”
  • klik op “.NET”
  • selecteer "NUnit Bibliotheekproject" en klik op "Volgende"
  • geef de naam en het pad van de oplossing aan, klik op "Maken"

Selenium-tests op C# op Linux

Om de browser te besturen, heb je ook een aantal NuGet-pakketten nodig:

  • ga naar het menu "Project" en selecteer "NuGet-pakketten toevoegen"
  • zoek en installeer het Selenium.WebDriver-pakket
  • zoek en installeer het Selenium.WebDriver.ChromeDriver-pakket

Selenium-tests op C# op Linux

Dat is alles, het enige dat overblijft is het schrijven van code om te controleren of alles naar behoren is geconfigureerd. Bij het maken van een oplossing wordt automatisch een bestand voor testmethoden Test.cs aangemaakt, waarin ik de volgende paar regels code plaats:

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();
        }
    }
}

De test wordt gestart vanaf het tabblad “Unit Tests”; als deze niet wordt weergegeven, gaat u naar het menu “Beeld” en selecteert u “Test”.

Selenium-tests op C# op Linux

Succesvolle automatisering =)

Bron: www.habr.com

Voeg een reactie