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

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

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

Като операционна система използвах Kubuntu 18.04 64-бит с ядро 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-бит .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