Selen tester på C# på Linux

Automatisering av nettapplikasjonstesting vha Selen en vanlig løsning blant autotestutviklere, og C# et av de mest populære programmeringsspråkene, så kombinasjonen av disse verktøyene reiser ingen spørsmål. For å utvikle ved hjelp av disse teknologiene brukes ofte populær proprietær programvare fra Microsoft for Windows, men jeg var interessert i å vite hvilke gratis analoger som kan brukes uten å avvike fra Selenium + C#-stakken for denne oppgaven.

Siden jeg ikke har funnet noen russiskspråklige artikler om dette emnet, vil jeg dele min erfaring med å sette opp et miljø for utvikling og feilsøking av autotester i C# på Linux.

Operativsystemet som ble brukt var Kubuntu 18.04 64-bit med Linux-kjerne 4.15.0-99-generisk, installert fra et ISO-bilde lastet ned fra offisielle nettsted. Jeg tror enhver moderne og ganske populær Linux-distribusjon vil gjøre det.

Mono JIT-kompilatorversjon 6.6.0.166 fungerte som en CLR for C#. Installasjonen besto av sekvensiell kopiering og utførelse av kommandoer inn i terminalen (i Kubuntu er dette Konsole) med på denne siden.

Og brukes som en IDE MonoDevelop 7.8.4 (bygg 2), installert på samme måte som Mono.

Selenium støtter mange nettlesere, men jeg var for lat til å bry meg med alt og begrenset meg til Chrome'om, etter å ha installert 64-biters .deb-pakke.

Deretter lager vi en løsning i MonoDevelop:

  • lanser MonoDevelop
  • gå til "Fil"-menyen
  • velg "Lag løsning"
  • klikk ".NET"
  • velg "NUnit Library Project" og klikk "Next"
  • angi navnet og banen til løsningen, klikk på "Opprett"

Selen tester på C# på Linux

For å kontrollere nettleseren trenger du også et par NuGet-pakker:

  • gå til "Prosjekt"-menyen og velg "Legg til NuGet-pakker"
  • se etter og installer Selenium.WebDriver-pakken
  • se etter og installer Selenium.WebDriver.ChromeDriver-pakken

Selen tester på C# på Linux

Det er alt, alt som gjenstår er å skrive litt kode for å sjekke at alt er konfigurert som det skal. Når du lager en løsning, opprettes det automatisk en fil for testmetoder Test.cs, der jeg legger inn følgende få linjer med kode:

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

Testen startes fra "Unit Tests"-fanen; hvis den ikke vises, gå til "View"-menyen og velg "Test".

Selen tester på C# på Linux

Vellykket automatisering =)

Kilde: www.habr.com

Legg til en kommentar