АВТОМАТИЗАЦИЯ БРАУЗЕРА С NIGHTWATCH И SELENIUM

Что такое Selenium?

Selenium – это инструмент с открытым исходным кодом, который используется для автоматизации тестирования веб-приложений и веб-сайтов. Selenium включает клиентские и серверные компоненты.

Selenium Client включает:

  • API WebDriver, который использовался для разработки тестовых сценариев для взаимодействия с элементами страницы и приложения.
  • Класс RemoteWebDriver, который взаимодействует с удаленным сервером Selenium.

Selenium Server включает:

    < li>Серверный компонент для получения запросов от RemoteWebDriver

  • API WebDriver клиента Selenium для запуска тестов для веб-браузеров на сервере.
  • Селеновая сетка, реализованный Selenium Server в параметрах командной строки для функций сетки, включая центральный концентратор и узлы для различных сред и желаемых возможностей браузера.

АВТОМАТИЗАЦИЯ БРАУЗЕРА С NIGHTWATCH И SELENIUM

С помощью Selenium вы можете:

  • писать тестовые сценарии на любом из этих языков программирования : Java, JavaScript, C#, .Net, Python, PHP, < strong>Ruby, Perl.
  • Запустите тесты в любой из этих ОС: Windows, Linux или MacOS.
  • Запустите тесты в любом браузере: Google Chrome, Microsoft Edge, Mozilla Firefox, Opera, Internet Explorer 7+, Safari и т. д.
  • Интегрируйте тесты с такими инструментами, как JUnit или TestNG, для управления тестовыми примерами и создание отчетов.

Что такое Nightwatch JS?

Nightwatch JS— это среда автоматизированного тестирования веб-приложений и веб-сайтов, написанная на Node.js и использующая W3C WebDriver API. Это полная среда сквозного тестирования, призванная упростить процесс настройки непрерывной интеграции и создания автоматических тестов.

АВТОМАТИЗАЦИЯ БРАУЗЕРА С NIGHTWATCH И SELENIUM

Согласно официальному сайту основными преимуществами Nightwatch.JS являются:

  • Четкий синтаксис — простой, но мощный синтаксис, позволяющий очень быстро писать тесты, используя только Javascript (Node.js) и CSS или XPath
  • Встроенный инструмент запуска тестов — встроенный в средстве запуска тестов из командной строки, которое может запускать тесты последовательно или параллельно, вместе, по группам, тегам или по одному. Встроенная поддержка Grunt.
  • Selenium server– автоматически управляет автономным сервером Selenium в отдельном дочернем процессе; можно отключить, если Selenium работает на другом хосте.
  • Поддержка облачных сервисов — работает с поставщиками облачного тестирования, такими как SauceLabs и BrowserStack.
  • Поддержка CSS и XPath – для поиска и проверки элементов на странице или выполнения команд можно использовать селекторы CSS или XPath.
  • Поддержка непрерывной интеграции – встроенные отчеты JUnit XML, поэтому вы можете интегрировать свои тесты в свои процесс сборки с такими системами, как TeamCity, Jenkins, Hudson и т. д.
  • Легко расширить– гибкая структура команд и утверждений, которая упрощает расширение для реализации команд и утверждений для конкретных приложений.

Установка

Чтобы установить Nightwatch, вам нужен npm. Если у вас еще нет Node.js, необходимо его получить. Инструкции по установке можно найти на странице проекта Node.js.

Кроме того, вам понадобится JDK, чтобы проверить Java. сильный>доступен в пути среды, запустите просто команду:

1

java –версия.

АВТОМАТИЗАЦИЯ БРАУЗЕРА С NIGHTWATCH И SELENIUM

Вы можете скачать Java с официального сайта.

Первый шаг — создать пустую папку и перейти к ней. Чтобы установить Nightwatch в эту папку, нужно выполнить команду:

1

npm install Nightwatch

АВТОМАТИЗАЦИЯ БРАУЗЕРА С NIGHTWATCH И SELENIUM

Далее необходимо добавить в ваш проект Selenium server и драйвера для браузеров, например в новую libпапка. Сейчас в версиях 0.9.x есть проблемы с запуском Selenium server версий 3.10+, которые разработчики обещают исправить в Nightwatch версии 1.0.6. Поэтому вам нужно найти Selenium server 3.9.1 и скачать его.

Для всех браузеров, в которых вы хотите запускать тесты, вам необходимо скачать драйверы, соответствующие версиям браузеров. Вот некоторые из них: ChromeDriver, GeckoDriver для Firefox, MicrosoftWebDriver для Edge

АВТОМАТИЗАЦИЯ БРАУЗЕРА С NIGHTWATCH И SELENIUM

Конфигурация

Для Windows необходимо создать nightwatch.jsв корневую папку и прописать в этом файле путь к файлу runner.js, который необходим для запуска процесса nightwatch, по умолчанию в этот файл нужно добавить

1

&nbsp;require('./node_modules/nightwatch/bin/runner');

Для macOS и Linux это не требуется.

Далее необходимо создать файл конфигурации nightwatch.json. Его следует поместить в корневую папку проекта, поскольку в нем указаны различные параметры конфигурации, такие как тестовая среда, пути к тестовым файлам и специальные настройки селена. Вот как выглядит файл конфигурации:

1234567891011121314151617181920212223242526272829303132333343536373839404142434445464748495051525354555657

{    “src_folders”: [“tests”],    “output_folder”: “отчеты”,    “custom_commands_path”: “”,    “custom_assertions_path”: “”,    “page_objects_path”: “”,    “globals_path”: “”,     “selenium” : {        “start_process”: true,        “server_path”: “./lib/selenium-server-standalone-3.9.1.jar”,        “log_path”: “./reports”,        “host”: “127.0.0.1”, “port”: 4445,        “cli_args”: {            “webdriver.chrome.driver”: “./lib/drivers/chromedriver.exe”,            “webdriver.gecko.driver”: “./lib/drivers/geckodriver.exe” ,            “webdriver.edge.driver”: “./lib/drivers/MicrosoftWebDriver.exe”        }    },     “test_settings”: {         “default”: {             “launch_url”: “http://localhost”,            : “selenium45_port” , “Selenium_host”: “localhost”, “silent”: true, “скриншоты”: {“включено”: true, “path”: “./reports/screenshots”}, “DesiredCapabilities”: {“Browernam e “:” chrome “,” marionette “: true,” javascriptenabled “: true,” принимает Slcerts “: true}},” Chrome “: {” DesiredCapabilities “: {” BrowserName “:” Chrome “}},” Firefox ” : {“DesiredCapabilities”: {“BrowserName”: “firefox”}}, “Edge”: {“DesiredCapabilities”: {“BrowserName”: “Microsoftedge”}}}

Вот краткое описание параметров файла nightwatch.json:

  • src_folders: массив папок (за исключением подпапок), в которых находятся тесты.
  • < em>output_folder: расположение, в котором будут сохранены файлы отчетов JUnit XML (отчеты XML, журнал selenium и снимки экрана).
  • page_objects_path: расположение, в котором будут сохраняться файлы объектов страницы загружаться из
  • globals_path: расположение внешнего модуля глобальных переменных, который будет загружен и сделан доступным для теста как свойство globals на основном клиентском экземпляре. Глобальные переменные также можно определить/перезаписать в среде test_settings.
  • Selenium: объект, содержащий параметры конфигурации, связанные с Selenium Server. Для нас важно установить для параметра start_process значение true, потому что в этом случае Selenium Server запустится автоматически. Также для путей server_path и webdriver необходимо задать правильную указанную папку.
  • test_settings: этот объект содержит все параметры, связанные с тестом. Важной частью настроек по умолчанию является объект требуемых возможностей, в котором мы указываем chrome в качестве браузера по умолчанию, чтобы Nightwatch запускал тесты с этим браузером по умолчанию.

АВТОМАТИЗАЦИЯ БРАУЗЕРА С NIGHTWATCH И SELENIUM

Тестирование

Теперь вы можете запустить свои тесты. Давайте

попробуем на простом примере:

12345678910111213141516

module.exports = {    'Тест поиска Bing' : function (client) {        client            .url('http://www.bing.com')             .waitForElementVisible('body', 1000)            .assert.title('Bing') .waitForElementVisible('#sb_form_q', 1000)           .setValue('#sb_form_q', 'nightwatch.js')            .submitForm('#sb_form_q')            .pause(1000) ; :nth-child(1) &gt; h2', 'Nightwatch.js | Сквозное тестирование на базе Node.js…')            .click('#b_results &gt; li:nth-child(1) &gt; h2')            .assert.title('Nightwatch.js | Платформа сквозного тестирования на основе Node.js')            .end(); }};

Этот тест:

  • Перейдите на страницу Bing
  • Убедитесь, что вы находитесь на правильной странице
  • Введите «nightwatch.js» в поле поиска и щелкните поиск button
  • Подтвердить, что первым результатом поиска является страница Nightwatch, и перейти на эту страницу
  • Убедитесь, что страница загружается правильно

Вы можете сохранить этот тест в папке tests

АВТОМАТИЗАЦИЯ БРАУЗЕРА С NIGHTWATCH И SELENIUM

Чтобы запустить этот тест, вам нужно ввести команду из корневой папки:

1

&nbsp;node nightwatchtests/bing_test.js

Если вы выполнили все шаги правильно, вы увидите, что браузер Google Chrome запустился и запустился тест. В консоли вы увидите такой результат:

АВТОМАТИЗАЦИЯ БРАУЗЕРА С NIGHTWATCH И SELENIUM

Чтобы запустить тест в другом браузере или с другими возможностями, необходимо добавить в конец команды –e имя_возможности,  например:

1

узел nightwatchtests/first_test.js&nbsp; -e edge

Для запуска всех тестов, расположенных в папке, необходимо ввести единственный путь к этой папке, без названий тестов, например:

1

node nightwatchtests/bing_tests/

Выводы

С помощью этого руководства вы узнали, как установить и настроить NightwatchJS< /strong> и выполнять тесты, написанные с использованием этой платформы.

Теперь вы можете изучить Nightwatch API и написать свои тесты. Если вам нужно разработать более сложные тесты автоматизации, вы можете обратиться в компанию по тестированию программного обеспечения Testmatick.
TAG: qa

От QA genius

Adblock
detector