Selenium testuje C# na Linuxe

Automatizácia testovania webových aplikácií pomocou Selén bežné riešenie medzi vývojármi autotestov a C# jeden z najpopulárnejších programovacích jazykov, takže kombinácia týchto nástrojov nevyvoláva žiadne otázky. Na vývoj pomocou týchto technológií sa často používa populárny proprietárny softvér od spoločnosti Microsoft pre Windows, ale zaujímalo ma, aké bezplatné analógy je možné použiť bez toho, aby sa pre túto úlohu odchýlili od zásobníka Selenium + C#.

Keďže som nenašiel žiadne články v ruskom jazyku na túto tému, podelím sa o svoje skúsenosti s nastavením prostredia na vývoj a ladenie autotestov v C# na Linuxe.

Použitý OS bol Kubuntu 18.04 64-bit s linuxovým jadrom 4.15.0-99-generic, nainštalovaný z obrazu ISO stiahnutého z oficiálne stránky. Verím, že každá moderná a pomerne populárna linuxová distribúcia bude stačiť.

Mono JIT kompilátor verzie 6.6.0.166 fungoval ako CLR pre C#. Jeho inštalácia pozostávala z postupného kopírovania a vykonávania príkazov do terminálu (v Kubuntu je to Konsole) s táto strana.

A používa sa ako IDE MonoDevelop 7.8.4 (zostava 2), inštalovaný podobne ako Mono.

Selenium podporuje veľa prehliadačov, no bol som lenivý sa so všetkým trápiť a obmedzoval som sa na to chróm'om, po inštalácii 64-bitový balík .deb.

Ďalej vytvoríme riešenie v MonoDevelop:

  • spustiť MonoDevelop
  • prejdite do ponuky "Súbor".
  • vyberte „Vytvoriť riešenie“
  • kliknite na „.NET“
  • vyberte „NUnit Library Project“ a kliknite na „Next“
  • uveďte názov a cestu riešenia, kliknite na „Vytvoriť“

Selenium testuje C# na Linuxe

Na ovládanie prehliadača budete potrebovať aj niekoľko balíkov NuGet:

  • prejdite do ponuky „Projekt“ a vyberte možnosť „Pridať balíčky NuGet“
  • vyhľadajte a nainštalujte balík Selenium.WebDriver
  • vyhľadajte a nainštalujte balík Selenium.WebDriver.ChromeDriver

Selenium testuje C# na Linuxe

To je všetko, zostáva len napísať nejaký kód, aby ste skontrolovali, či je všetko nakonfigurované tak, ako má. Pri vytváraní riešenia sa automaticky vytvorí súbor pre testovacie metódy Test.cs, do ktorého vložím nasledujúcich pár riadkov kódu:

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 sa spúšťa zo záložky „Unit Tests“; ak nie je zobrazená, prejdite do ponuky „View“ a vyberte „Test“.

Selenium testuje C# na Linuxe

Úspešná automatizácia =)

Zdroj: hab.com

Pridať komentár