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» и жмём «Далее»
  • указываем название и путь решения, жмём «Создать»

Для управления браузером ещё потребуются пара пакетов NuGet:

  • идём в меню «Проект» и выбираем «Добавить пакеты NuGet»
  • ищем и устанавливаем пакет Selenium.WebDriver
  • ищем и устанавливаем пакет Selenium.WebDriver.ChromeDriver

Вот, собственно, и всё, осталось написать какой-нибудь код, чтобы проверить, что всё настроилось как надо. При создании решения, автоматически создаётся файл для тестовых методов 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();         }     } }

Запуск теста осуществляется из вкладки «Модульные тесты», если она не отображается, идем в меню «Просмотреть» и выбираем «Тест».

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

ссылка на оригинал статьи https://habr.com/ru/post/501838/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *