Selenium тестове на C# в Linux

Автоматизация на тестовете на уеб приложения с помощта на Selenium разпространено решение сред разработчиците на автоматизирани тестове, а C# един от най-популярните езици за програмиране, затова комбинацията от тези инструменти не предизвиква въпроси. За разработки с тези технологии често се използва популярният софтуер на Microsoft за Windows, но ми беше интересно да разбера какви свободни аналози може да се използват в стека Selenium + C# за тази задача.

Тъй като не намерих русскоязични статии по тази тема, ще споделя опита си с настройката на среда за разработка и отстраняване на грешки при автоматизирани тестове на C# в Linux.

Като операционна система използвах Kubuntu 18.04 64-bit с ядро Linux 4.15.0-99-generic, инсталирано от ISO образ, изтеглен от официалния сайт. Считам, че всеки съвременен и достатъчно популярен дистрибутив на Linux би бил подходящ.

Като CLR за C# използвах Mono JIT компилатор версия 6.6.0.166. Неговата инсталация се състоеше в последователно копиране и изпълнение на команди в терминала (в Kubuntu това е Konsole) от тази страница.

А като IDE използвах MonoDevelop 7.8.4 (build 2), инсталиран по аналогичен начин на Mono.

Selenium поддържа множество браузъри, но на мен ми беше мързеливо да ги инсталирам всичките и се ограничих до Chrome’ом, инсталирайки 64-bit .deb пакет.

След това създаваме решение в MonoDevelop:

  • стартираме MonoDevelop
  • влизаме в менюто „Файл“
  • избираме „Създай решение“
  • кликваме „.NET“
  • избираме „Проект библиотека NUnit“ и натискаме „Напред“
  • посочваме име и път на решението, натискаме „Създай“

Selenium тестове на C# в Linux

За управление на браузъра ще ви трябват още два пакета NuGet:

  • отиваме в менюто „Проект“ и избираме „Добави пакети NuGet“
  • търсим и инсталираме пакета Selenium.WebDriver
  • търсим и инсталираме пакета Selenium.WebDriver.ChromeDriver

Selenium тестове на C# в Linux

Ето, всъщност това е всичко, остана само да напиша някакъв код, за да проверя, че всичко е настроено правилно. При създаването на решението автоматично се създава файл за тестовите методи Test.cs, в който добавих следните няколко реда код:

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();
        }
    }
}

Стартирането на теста се извършва от раздела „Модулни тестове“, ако той не се показва, отиваме в менюто „Преглед“ и избираме „Тест“.

Selenium тестове на C# в Linux

Успешна автоматизация =)

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster