Selentester i C# på Linux

Automatisera webbapplikationstestning med Selen en vanlig lösning bland autotestutvecklare, och C# ett av de mest populära programmeringsspråken, så kombinationen av dessa verktyg väcker inga frågor. För utveckling med dessa tekniker används ofta populär proprietär programvara från Microsoft för Windows, men jag var intresserad av att veta vilka gratis analoger som kan användas utan att avvika från Selenium + C#-stacken för denna uppgift.

Eftersom jag inte hittade några ryskspråkiga artiklar om detta ämne kommer jag att dela med mig av min erfarenhet av att sätta upp en miljö för att utveckla och felsöka autotester i C# på Linux.

OS var Kubuntu 18.04 64-bitars med Linux-kärnan 4.15.0-99-generic, installerat från ISO-avbildningen som laddades ner från officiell plats. Jag tror att vilken modern och ganska populär Linux-distribution som helst duger.

CLR för C# var Mono JIT-kompilatorversionen 6.6.0.166. Dess installation bestod i att successivt kopiera och köra kommandon till terminalen (i Kubuntu är detta Konsole) med den här sidan.

Och som en IDE används MonoDevelop 7.8.4 (build 2), installerad på samma sätt som Mono.

Selenium stöder många webbläsare, men jag var för lat och begränsade mig till krom'ohm, inställning 64-bitars .deb-paket.

Därefter skapar vi en lösning i MonoDevelop:

  • lansera MonoDevelop
  • gå till menyn "Arkiv".
  • välj "Skapa lösning"
  • klicka på ".NET"
  • välj "NUnit Library Project" och klicka på "Nästa"
  • ange namnet och sökvägen till lösningen, klicka på "Skapa"

Selentester i C# på Linux

Du behöver också ett par NuGet-paket för att styra webbläsaren:

  • gå till menyn "Projekt" och välj "Lägg till NuGet-paket"
  • sök efter och installera paketet Selenium.WebDriver
  • sök efter och installera paketet Selenium.WebDriver.ChromeDriver

Selentester i C# på Linux

Det är faktiskt allt, det återstår att skriva lite kod för att kontrollera att allt är inställt som det ska. När du skapar en lösning skapas automatiskt en fil för testmetoder Test.cs, jag lägger följande rader kod i den:

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

Testet startas från fliken "Enhetstester", om det inte visas, gå till menyn "Visa" och välj "Test".

Selentester i C# på Linux

Lyckad automatisering =)

Källa: will.com

Lägg en kommentar