Представляете мир без автоматизации? Мир, в котором после слияния кода потребуется полный проход регрессии вручную? Это может быть выполнимо для небольшого приложения, но как насчет более сложного, такого как Facebook? Ручное тестирование полагается на людей, а люди склонны уставать от повторяющихся задач. Это может привести к пропуску важных ошибок, которые могут повлечь за собой потерю клиентов и, возможно, снижение вашей прибыли. Целью тестирования является обнаружение ошибок, но, что более важно, их своевременное обнаружение.

Проект под названием «JavaScriptTestRunner» был создан для решения проблемы слона в комнате. Вскоре после того, как в 2004 году, Selenium был создан Джейсоном Хаггинсом. Это была первая массово адаптированная технология, которая позволяла напрямую управлять действиями браузера. Он произвел революцию в области тестирования и позже был переименован в Selenium Core.

Selenium - это группа инструментов, используемых для автоматизации.

Интегрированная среда разработки Selenium (IDE) - это самый простой и легкий в изучении компонент или инструмент из набора средств автоматизации Selenium. IDE - это подключаемый модуль Firefox и расширение Chrome, которое можно легко установить для быстрой записи и выполнения частых тестовых случаев. Взаимодействие пользователя с веб-браузером записывается, и на основе этих записей создаются тестовые примеры. Его наиболее заметная особенность - инструмент воспроизведения (ранее также записывающего) для создания функциональных тестов означает, что нет необходимости изучать тестовый язык сценариев.

Selenium RC был основным проектом Selenium задолго до слияния WebDriver. До появления Selenium RC тестировщики локально устанавливали копии Selenium Core и веб-сервера с тестируемыми веб-приложениями, чтобы они оба принадлежали к одному домену.

Selenium Grid - это инструмент, который используется вместе с Selenium RC для параллельного запуска тестов на разных машинах в разных браузерах. То есть одновременное выполнение нескольких тестов на разных машинах с разными браузерами и операционными системами. Полезно распределить нагрузку тестирования на несколько машин и запускать тесты в браузерах, работающих на разных платформах или операционных системах.

Selenium WebDriver (2006) - это среда автоматизации браузера, которая принимает команды и отправляет их в браузер. Это официальная реализация протокола JSONWire (WebDriver Wire) на Node.JS, разработанная командой Selenium. Это реализуется через драйвер для конкретного браузера. Он управляет браузером, напрямую связываясь с ним. Selenium Webdriver API помогает в общении между языками и браузерами. Каждый браузер имеет разную логику выполнения действий, таких как загрузка страницы, закрытие браузера и т. Д.

Каждый браузер содержит отдельный драйвер браузера. Драйверы браузера взаимодействуют с соответствующим браузером, не раскрывая внутренней логики работы браузера. Когда драйвер браузера получает любую команду, эта команда будет выполнена в соответствующем браузере, и ответ вернется в виде ответа HTTP.

В 2008 вся команда Selenium решила объединить WebDriver с RC (Remote Control), чтобы создать еще один мощный инструмент под названием Selenium 2.0 = Selenium IDE + Selenium RC + Selenium WebDriver. + Селеновая сетка.

Selenium считается стандартным и лучшим набором инструментов для тестирования на сегодняшний день. Я могу вспомнить несколько причин:

  • Открытый источник
  • Бесплатное использование
  • Поддерживает тестовые сценарии, написанные на любых предпочитаемых пользователем языках, таких как C #, Java, Perl, PHP, Python и Ruby.
  • Имеет сильное сообщество, что важно при поиске ответов / отладке
  • Поддерживает тестирование в различных веб-браузерах, таких как Chrome, Firefox, Internet Explorer (IE), Opera и Safari.
  • Сильная интеграция: TestNG, JUnit, Jenkins, Docker и Maven для непрерывного тестирования.

В мире Javascript WebDriverJs является официальной реализацией J avascript Selenium. Он использует протокол Selenium Json-wire для взаимодействия с браузером, как это делает selenium java. Это написано селеновыми парнями. Webdriverjs упакован как «selenium- webdriver» в пакете npm, который работает на nodejs.

WebdriverIO - это независимая реализация протокола JSON Wire от Christian Bromann. Это тестовая среда для Node.js. Он превращает запросы нижнего уровня в полезные команды с кратким синтаксисом. Есть несколько причин, по которым мне нравится писать webdriverIO по сравнению с другими вариантами:

  1. WebdriverIO полностью построен с использованием Javascript. Это означает, что если вам комфортно с JS, вы можете сразу приступить к написанию автоматизации, используя их документацию. Это также означает, что это дружественный интерфейс по своей природе. Членам вашей команды не нужно изучать новый язык, и его легко усвоить.
  2. Синтаксис прост. По сути, вы захватываете элемент с помощью селекторов и вызываете для него метод. Он совместим с большинством библиотек утверждений и фреймворков тестирования, таких как мокко или жасмин.
  3. Шаблон объекта страницы - это соглашение, которое легко реализуется с помощью webdriverIO (https://webdriver.io/docs/pageobjects.html). Поместив все методы получения и функции в объект страницы, вы можете импортировать в пределах спецификации и держите ваш код читабельным. Это означает, что ваши спецификации служат документацией для нетехнических специалистов. Кроме того, если ИТ-блок не работает, ваши веб-разработчики могут быстрее отлаживать, используя лучшие методы кодирования.
  4. Он также поставляется с средством запуска тестов, а утилита настройки помогает создать файл конфигурации за считанные секунды. Он содержит множество комментариев, и вы можете приступить к настройке своего проекта за считанные минуты.

Я настоятельно рекомендую ознакомиться с WebdriverIO, если вы работаете над интерфейсом автоматизации пользовательского интерфейса. Документация понятна, и настройка относительно проста. Он предлагает множество вариантов настройки и использует Selenium под капотом.

Источники: https://www.seleniumhq.org/projects/remote-control/



Http://webdriver.io