Seleniumi testid C# keeles Linuxis

Veebirakenduste testimise automatiseerimine kasutades Selenium populaarne lahendus automaattestide arendajate seas, ja C# üks populaarsemaid programmeerimiskeeli, seega nende tööriistade kombinatsioon ei tekita küsimusi. Nende tehnoloogiate kasutamiseks arendamisel kasutatakse sageli populaarsest Microsofti omandis olevast tarkvarast Windowsis, kuid mind huvitas, milliseid tasuta analooge saab kasutada, jäädes samas Selenium + C# tehnoloogiatesse.

Kuna ma ei leidnud vene keeles artikleid selle teema kohta, siis jagan oma kogemust keskkonna seadistamisest automaattestide arendamiseks ja tõrkeotsimiseks C#-s Linuxis.

Käitusüsteemina kasutati Kubuntu 18.04 64-bit koos Linuxi kerneliga 4.15.0-99-generic, mis paigaldati ISO-pildilt, mille laadisin alla ametlikult veebisaidilt. Arvan, et sobib iga kaasaegne ja piisavalt populaarne Linuxi distributsioon.

C# jaoks toimis CLR-na Mono JIT kompilaator versiooniga 6.6.0.166. Selle installatsioon hõlmas järkjärgulist käskude kopeerimist ja täitmist terminalis (Kubuntu-s on see Konsole) lehelt sellelt lehelt.

Ja IDE-na kasutati MonoDevelop 7.8.4 (build 2), paigaldatud samamoodi nagu Mono.

Selenium toetab mitmeid brausereid, kuid ma olin liiga laisk ja piirdusin ChromeChrome'iga, paigaldades 64-bit .deb paketi.

Seejärel loome MonoDevelopis lahenduse:

  • käivita MonoDevelop
  • mine menüüsse „Fail”
  • vali „Loo lahendus”
  • kliki „.NET”
  • vali „NUnit teegiprojekt” ja kliki „Jätka”
  • märgi lahenduse nimi ja tee, kliki „Loo”

Seleniumi testid C# keeles Linuxis

Brauseri haldamiseks vajame veel paar NuGet paketti:

  • mine menüüsse „Projekt” ja vali „Lisa NuGet pakette”
  • otsi ja installi pakett Selenium.WebDriver
  • otsi ja installi pakett Selenium.WebDriver.ChromeDriver

Seleniumi testid C# keeles Linuxis

Noh, tegelikult ongi kõik, nüüd tuleb kirjutada mõned read koodi, et kontrollida, kas kõik on õigesti seadistatud. Lahenduse loomisel luuakse automaatselt testimeetodite Test.cs fail, kuhu ma panin järgmised paar rida koodi:

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"), "Midagi on valesti =(");
            driver.Quit();
        }
    }
}

Testi käivitamine toimub „Moodulite testid” vahekaardilt, kui see ei ole nähtaval, mine menüüsse „Vaata” ja vali „Test”.

Seleniumi testid C# keeles Linuxis

Edukas automatiseerimine =)

Allikas: habr.com

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster