Selenium tesztek C# nyelven Linuxon

Webalkalmazások tesztelésének automatizálása a Selenium automatikus tesztelők között népszerű megoldás, és C# az egyik legnépszerűbb programozási nyelv, ezért e technológiák kombinációja nem okoz meglepetést. Ezen technológiák használatához általában a Microsoft népszerű, zárt forráskódú szoftverét használják Windows alatt, azonban engem érdekelt, hogy milyen nyílt forráskódú alternatívákat használhatok a Selenium + C# stack mellett ehhez a feladathoz.

Mivel orosz nyelvű cikkeket nem találtam erről a témáról, megosztom a tapasztalataimat a C# automatikus tesztelés fejlesztési és hibakeresési környezetének beállításáról Linux alatt.

Az operációs rendszer Kubuntu 18.04 64-bites Linux 4.15.0-99-generic kernellel volt, amely ISO képről lett telepítve, amit innen töltöttem le Microsoft. Mint mindig, a cég fokozatosan vezeti be az új frissítést. Ezért a hír írása idején a Windows frissítési központban nem biztos, hogy elérhető a Chromium-alapú Edge böngésző letöltési ajánlata. A telepítés után a rendszer újraindítást kér.. Azt hiszem, bármely modern és elég népszerű Linux disztribúció megfelelne.

A C# CLR szerepét a Mono JIT fordító 6.6.0.166-os verziója tölti be. A telepítés a terminálban (Kubuntu alatt Konsole) történő parancsok másolásával és végrehajtásával zajlott erről az oldalról.

IDE-ként pedig a MonoDevelop 7.8.4 (build 2)használatát ajánlom, amelyet hasonlóan telepítettem a Monoval.

A Selenium számos böngészőt támogat, de engem már annyira fárasztott a dolog, hogy csak ChromeChrome-aléletet válaszottam, és telepítettem a 64-bites .deb csomagot..

Ezután hozzunk létre egy megoldást a MonoDevelopban:

  • elindítjuk a MonoDevelopot,
  • belépünk a Fájl menübe,
  • választjuk az Új megoldás lehetőséget,
  • kattintsunk a .NET-re,
  • válasszuk a NUnit könyvtár projektet, majd kattintsunk a Tovább gombra,
  • megjegyezzük a megoldás nevét és elérési útját, majd kattintsunk a Létrehozásra,

Selenium tesztek C# nyelven Linuxon

A böngésző kezeléséhez még szükség lesz pár NuGet csomagra:

  • íme a Projekt menübe, és válaszd a NuGet csomagok hozzáadása lehetőséget,
  • keressük meg és telepítsük a Selenium.WebDriver csomagot,
  • keressük meg és telepítsük a Selenium.WebDriver.ChromeDriver csomagot.

Selenium tesztek C# nyelven Linuxon

Nos, ennyi, már csak annyit kell írnunk, hogy ellenőrizzük, minden úgy van beállítva, ahogy kell. A megoldás során automatikusan létrejön egy fájl a tesztmetódusok számára, a Test.cs, ebbe az alábbi pár kódsort helyeztem el:

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"), "Valami nem stimmel =(");
            driver.Quit();
        }
    }
}

A teszt futtatása a "Moduláris tesztek" fülből történik, ha az nem látható, lépjünk a "Nézet" menübe, és válasszunk a "Teszt" lehetőséget.

Selenium tesztek C# nyelven Linuxon

Sikeres automatizálás =)

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster