В проект Orckestra CMS Foundation на GitHub'е была добавлена поддержка фреймворка для создания и выполнения автоматизированных тестов Nightwatch.js.
В проекте системы он был расширен командами для специфических задач, выполняемых в админке системы, например, открыть раздел такой-то (selectPerspective), выполнить команду такую-то на таком-то элементе дерева (selectTreeNodeAction).
В проекте есть уже несколько написанных тестов, которые вы можете запустить на выполнение тоже, если у вас настроена среда для выполнения тестов Nightwatch.js (об этом - ниже).
Кроме того, в отдельной ветке e2e-testing добавляются новые тесты, которые, вероятно, будут в будущем слиты с главной веткой dev.
Обращаю ваше внимание, что фреймворк доступен только в ветках исходного кода. В готовых дистрибутивах (релизах) - его нет.
Для того, чтобы запустить существующие тесты вам нужно скачать исходники ветки dev (или e2e-testing) и выполнить шаги описанные в этой инструкции (англ.).
Вкратце, шаги такие:
Ссылки по теме:
В проекте системы он был расширен командами для специфических задач, выполняемых в админке системы, например, открыть раздел такой-то (selectPerspective), выполнить команду такую-то на таком-то элементе дерева (selectTreeNodeAction).
В проекте есть уже несколько написанных тестов, которые вы можете запустить на выполнение тоже, если у вас настроена среда для выполнения тестов Nightwatch.js (об этом - ниже).
Кроме того, в отдельной ветке e2e-testing добавляются новые тесты, которые, вероятно, будут в будущем слиты с главной веткой dev.
Обращаю ваше внимание, что фреймворк доступен только в ветках исходного кода. В готовых дистрибутивах (релизах) - его нет.
Для того, чтобы запустить существующие тесты вам нужно скачать исходники ветки dev (или e2e-testing) и выполнить шаги описанные в этой инструкции (англ.).
Вкратце, шаги такие:
- Загрузите последнюю версию для разработчиков dev.
- Откройте ее в Visual Studio и выполните сборку решения (там 3 проекта).
- Далее в PowerShell перейдите в папку /Website в решении и выполните команду grunt build. Это скомпилирует нужные CSS-файлы.
- Если у вас не установлен grunt, установите его npm install -g grunt.
- Вместо команды grunt build в PowerShell, можно в Visual Studio вызвать Task Runner на файле gruntfile.js (правый клик) проекте Website, и в нем запустить команду build.
- Установите Node.js:
- Если у вас не установлен Node.js, скачайте с официального сайта и установит его.
- Если у вас Node.js установлен, то проверьте его версию: в PowerShell выполните команду node -v. Вам нужна версия выше 4.4. Если это не так, установите последнюю версию.
- Теперь установите сам Nightwatch, выполнив в PowerShell команду npm install -g nightwatch.
- Также не помешает установить последнюю версию chromedriver выполнив команду npm install --save-dev chromedriver@latest в папке /Website.
- Тесты по умолчанию запускаются в браузере Google Chrome. А так как последний обновляется довольно часто, есть шанс, что на момент написания этого сообщения, chromedriver на сайте будет уже устаревшим и не работающим.
- Запустите сайт в WebMatrix. По умолчанию сайт должен быть запущен по адресу http://localhost:8080 (8080 - порт по умолчанию).
- Так как WebMatrix запустит его по другому порту:
- или в самом WebMatrixe измените порт на 8080 и перезапустите сайт
- или в файле nightwatch.json (в корне решения) поменяйте порт на нужный вам "launch_url" : "http://localhost:8080".
- Откройте сайт по этому адресу и удостоверьтесь, что сайт открывается, и запускается мастер начальной установки Orckestra CMS. Шаги мастера выполнять не нужно - для этого есть тест.
- Наконец, в PowerShell выполните команду nightwatch в корневой папке решения (где папка/Website будет подпапкой).
И в течении нескольких минут вы будете наблюдать как выполняются автоматизированные тесты.
Набор тестов там пока ограничен и не охватывает все разделы.
Набор тестов там пока ограничен и не охватывает все разделы.
После того, как выполнится последний тест, в PowerShell появится сообщение о том, сколько утверждений (assertions) было удовлетворено и сколько времени ушло на выполнение тестов.
В папке /Website/test/e2e находится все, что связано с тестами на Orckestra CMS. В подпапке /suite находятся сами группы тестов.
В подпапке /commands - специфические команды, расширяющие Nightwatch API, адаптируя его команды к специфике работы в админке Orckestra CMS. Если вы будет писать свои тесты, имеет смысл изучить эти команды, они сильно упростят вам жизнь.
Также в подпапке /pageObjects находятся "объекты страницы". И команды, и объекты страницы - это понятия самого Nightwatch. Они просто расширяют его возможности и упрощают написание тестов. По ним есть стандартная документация Nightwatch.
В подпапке /ApiLang находится определения для текстового редактора Notepad++ для команд, добавленных в подпапке /commands. Там же - инструкция по установке этого определения для Notepad++. Это если вы будет писать свои тесты в Notepad++.
Что касается выполнения тестов, то сначала будут выполнятся тесты которые пронумерованы, в порядке нумерации, далее - все остальные (в алфавитном порядке).
Можно также запускать отдельные тесты, группы тестов, тесты по тэгам и т.п. Все это описано в стандартной документации Nightwatch.js.
На этом пока все. Может быть стоит посвятить еще одно-два сообщения теме Nightwatch в Orckestra CMS.
Что касается выполнения тестов, то сначала будут выполнятся тесты которые пронумерованы, в порядке нумерации, далее - все остальные (в алфавитном порядке).
Можно также запускать отдельные тесты, группы тестов, тесты по тэгам и т.п. Все это описано в стандартной документации Nightwatch.js.
На этом пока все. Может быть стоит посвятить еще одно-два сообщения теме Nightwatch в Orckestra CMS.
Ссылки по теме:
Комментариев нет:
Отправить комментарий