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

Автоматизиране на тестването на уеб приложения с Селен общоприето решение сред разработчиците на автотест, и 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 (компилация 2), инсталиран подобно на Mono.

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

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

  • стартирайте MonoDevelop
  • отидете в менюто "Файл".
  • изберете „Създаване на решение“
  • щракнете върху ".NET"
  • изберете "NUnit Library Project" и щракнете върху "Next"
  • посочете името и пътя на решението, щракнете върху „Създаване“

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

Тестът се стартира от раздела "Unit Tests", ако не се показва отидете в менюто "View" и изберете "Test".

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

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

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

Добавяне на нов коментар