Seleeni testid C#-s Linuxis

Veebirakenduste testimise automatiseerimine Seleen levinud lahendus autotesti arendajate seas ja C# üks populaarsemaid programmeerimiskeeli, seega ei tekita nende tööriistade kombinatsioon küsimusi. Nende tehnoloogiate abil arendamiseks kasutatakse sageli Microsofti Windowsi jaoks mõeldud populaarset patenteeritud tarkvara, kuid mind huvitas teada, milliseid tasuta analooge saab kasutada ilma selle ülesande jaoks Selenium + C# virust lahkumata.

Kuna ma ei leidnud sellel teemal ühtegi venekeelset artiklit, jagan oma kogemusi Linuxi C#-i automaattestide arendamise ja silumise keskkonna loomisest.

Kasutatud OS oli Kubuntu 18.04 64-bitine Linuxi kerneliga 4.15.0-99-generic, installitud saidilt alla laaditud ISO-pildi kaudu ametlik veebileht. Usun, et iga kaasaegne ja üsna populaarne Linuxi distributsioon sobib.

Mono JIT kompilaatori versioon 6.6.0.166 toimis C# jaoks CLR-ina. Selle installimine seisnes käskude järjestikuses kopeerimises ja käivitamises terminali (Kubuntus on see Konsole) sellel lehel.

Ja seda kasutatakse IDE-na MonoDevelop 7.8.4 (järg 2), paigaldatud sarnaselt Monole.

Selenium toetab paljusid brausereid, kuid olin liiga laisk, et kõigega vaeva näha ja piirdusin sellega Kroom'om, pärast installimist 64-bitine .deb pakett.

Järgmisena loome MonoDevelopis lahenduse:

  • käivitage MonoDevelop
  • minge menüüsse "Fail".
  • valige "Loo lahendus"
  • klõpsake ".NET"
  • valige "NUniti raamatukogu projekt" ja klõpsake nuppu "Järgmine".
  • märkige lahenduse nimi ja tee, klõpsake nuppu "Loo"

Seleeni testid C#-s Linuxis

Brauseri juhtimiseks vajate ka paari NuGeti paketti:

  • minge menüüsse "Projekt" ja valige "Lisa NuGeti paketid"
  • otsige üles ja installige pakett Selenium.WebDriver
  • otsige üles ja installige pakett Selenium.WebDriver.ChromeDriver

Seleeni testid C#-s Linuxis

See on kõik, jääb üle vaid kirjutada kood, et kontrollida, kas kõik on seadistatud nii, nagu peab. Lahenduse loomisel luuakse automaatselt testmeetodite fail Test.cs, kuhu panen järgmised paar koodirida:

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

Test käivitatakse vahekaardilt "Ühikutestid"; kui seda ei kuvata, minge menüüsse "Vaade" ja valige "Test".

Seleeni testid C#-s Linuxis

Edukas automatiseerimine =)

Allikas: www.habr.com

Lisa kommentaar