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
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
A používa sa ako IDE
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
Ď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ť“
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
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“.
Úspešná automatizácia =)
Zdroj: hab.com