Selenium testi na C# v Linuxu

Avtomatizacija testiranja spletnih aplikacij s pomočjo Selenium je razširjena rešitev med razvijalci avtomatskega testiranja, in C# je eden izmed najbolj priljubljenih programskih jezikov, zato kombinacija teh orodij ne dviguje vprašanj. Za razvoj s temi tehnologijami se pogosto uporablja priljubljena proprietary programska oprema podjetja Microsoft za Windows, vendar me je zanimalo, katera prosta alternativa se lahko uporablja, ne da bi se oddaljevali od sklada Selenium + C# za to nalogo.

Ker nisem našel slovanskih člankov na to temo, bom delil svoje izkušnje pri nastavitvi okolja za razvoj in odpravljanje napak avtomatskih testov v C# na Linuxu.

Kot operacijski sistem sem uporabil Kubuntu 18.04 64-bit s jedrom Linux 4.15.0-99-generic, nameščenega iz ISO-podobe, prenesene s službene stranice. Menim, da bi ustrezal katerikoli sodoben in dovolj priljubljen Linux distribucijski.

V vlogi CLR za C# je deloval Mono JIT prevajalnik različice 6.6.0.166. Njegova namestitev je potekala s zaporednim kopiranjem in izvajanjem ukazov v terminalu (v Kubuntu je to Konsole) s te strani.

Kot IDE je bil uporabljen MonoDevelop 7.8.4 (build 2), nameščen na podoben način kot Mono.

Selenium podpira številne brskalnike, a jaz sem se omejil na Chrome'em, nameščenjem 64-bit .deb paketa.

Nato ustvarimo rešitev v MonoDevelop:

  • zaženemo MonoDevelop
  • pridemo v meni 'Datoteka'
  • izberemo 'Ustvari rešitev'
  • pritisnemo '.NET'
  • izberemo 'Projektna knjižnica NUnit' in kliknemo 'Naprej'
  • določimo ime in pot rešitve, kliknemo 'Ustvari'

Selenium testi na C# v Linuxu

Za upravljanje z brskalnikom bo potrebno še nekaj paketov NuGet:

  • gremo v meni 'Projekt' in izberemo 'Dodaj pakete NuGet'
  • iskimo in namestimo paket Selenium.WebDriver
  • iskimo in namestimo paket Selenium.WebDriver.ChromeDriver

Selenium testi na C# v Linuxu

Torej, to je to, ostalo je le še napisati nekaj kode, da preverimo, ali je vse nastavljeno pravilno. Pri ustvarjanju rešitve se samodejno ustvari datoteka za testne metode Test.cs, v katero sem dodal nekaj vrstic 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"), "Nekaj ni v redu =(");
            driver.Quit();
        }
    }
}

Zagon testa se izvede iz zavihka 'Modularni testi', če ta ni prikazan, gremo v meni 'Poglej' in izberemo 'Test'.

Selenium testi na C# v Linuxu

Uspešna avtomatizacija =)

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster