Развертывание инфраструктуры автотестов (PROTRACTOR + JASMINE)

Необходимые компоненты
Для настройки Protractor требуется установить следующие основные компоненты:

  • Java Development Kit — собственно, Java
  • Node.js — программная платформа, на которой работает Protractor
  • Protractor — собственно сам фреймворк, для запуска тестов AngularJS-приложений
  • Selenium Webdriver — программный интерфейс, предназначенный для управления браузером
  • IEDriver — драйвер для запуска тестов в браузере internet explorer

А также дополнительные:

  • Protractor screenshot reporter — утилита для снятия скриншотов во время выполнения теста

Установка JAVA
Скачать JDK можно здесь — http://www.oracle.com/technetwork/java/index-jsp-138363.html Версия 1.7.0 и выше.
После установки необходимо прописать в переменных среды пути установки.
Дополнить переменную PATH — добавить путь до папки bin в папке с установленным jdk, например C:\Program Files\Java\jdk1.7.0_79\bin
Создать переменную среды JAVA_HOME, прописать путь до папки с установленным jdk, например C:\Program Files\Java\jdk1.7.0_79

Установка NodeJS
Скачать Node JS можно отсюда: https://nodejs.org/en/download/. По данной ссылке расположена последняя стабильная версия, отмеченная как Recommended for most users
Полный список версий доступен по адресу: https://nodejs.org/download/release/
На windows установка выполняется с помощью мастера обычным способом. Проверка корректности установки: в cmd выполнить команду:
npm -version

Установка protractor
Необходимо убедиться, что установлен JDK, выполнив команду в cmd:
java -version
При необходимости установить: http://www.oracle.com/technetwork/java/javase/downloads/index.html
Protractor можно установить глобально или локально (например, в ту директорию, где у вас находятся тесты). При установке глобально, папка protractor сохраняется по следующему пути: C:\Users\user\AppData\Roaming\npm\node_modules\protractor, и пользователь может сохранять тесты в разных папках, и запускать их. Если установлено все локально, то, соответственно, мы работаем только в одной папке. Для установки protractor глобально необходимо в cmd выполнить следующую команду:
npm install -g protractor
Убедиться, что protractor установлен, выполнив в cmd команду:
protractor --version
Установка пакетов
Перейти в корень папки с тестами, убедиться, что в этой папке лежит файл package.json. Для установки пакетов, описанных в файле package.json, выполнить команду:
npm install
Для установки определенных пакетов из репозитория, используется команда
npm install <название пакета>
(без треугольных скобок)

Установка Selenium Webdriver
Установить Selenium Webdriver, выполнив в cmd команду:
webdriver-manager update
По умолчанию будет скачана последняя версия драйвера, в настройках которой Chrome будет установлен в качестве браузера по умолчанию.

Установка драйвера для браузера IE
Установить драйвер для IE, выполнив в cmd команду:
webdriver-manager update --ie32
Тест не будет работать с 64bit версией IEDriver (sendKeys работает очень медленно и тест будет провален по таймауту).
Можно также загрузить драйвер отсюда.
Настройка переменной окружения для доступа к web-драйверу
Путь к драйверу браузера необходимо прописать в переменную PATH.
Пример для Win7: C:\Users\user\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium

Настройка IE
IE версии 10-11. В свойствах браузера выбрать вкладку «Безопасность», установить для каждой зоны одинаковый атрибут защищенного режима — либо у всех зон чекбокс «Включить защищенный режим» включен, либо у всех зон выключен.

Установка Protractor screenshot reporter
Protractor screenshot reporter будет делать снимок экрана после каждого выполняемого теста и сохранить результаты в отчете HTML в случае, если в conf.js включен следующий блок:

var HtmlScreenshotReporter = require(‘protractor-jasmine2-screenshot-reporter’),
TimeStamp = require(‘./e2e/page_object/sfa/screenshot/timestamp.js’),
timeStamp = new TimeStamp(),
reporter = new HtmlScreenshotReporter({
dest: ‘e2e/results/Test running at ‘ + timeStamp.getTimeStamp(),
filename: ‘Report of running autotests.html’,
showSummary: true,
showQuickLinks: true,
showConfiguration: true,
reportTitle: ‘My report for autotests at ‘ + timeStamp,
ignoreSkippedSpecs: true,
reportOnlyFailedSpecs: false,
captureOnlyFailedSpecs: true
});

//Setup the report before any tests start
beforeLaunch: function() {
return new Promise(function(resolve){
reporter.beforeLaunch(resolve);
});
},

//Assign the test reporter to each running instance
onPrepare: function() {
browser.driver.manage().window().setSize(1024, 900);
jasmine.getEnv().addReporter(reporter);
},
Protractor screenshot reporter необходимо устанавливать локально в ту папку, где у находятся тесты. Для чего нужно перейти в папку с тестами и выполнить команду:
npm install protractor-jasmine2-screenshot-reporter
Подробнее про можно почитать тут: https://www.npmjs.com/package/protractor-jasmine2-screenshot-reporter

Запуск тестового окружения
Запустить Selenium Server, выполнив в cmd команду:
webdriver-manager start
При успешном запуске в командном окне выводится информация:
INFO — Selenium Server is up and running
статус сессии можно посмотреть здесь: http://localhost:4444/wd/hub
Запустить Protractor, перейдя в cmd в папку, где расположен файл conf.js и выполнив команду:
protractor conf.js

Периферийные устройства

Оригинальное название: The Peripheral
Автор: Уильям Гибсон
Год выпуска(на русском): 2015
Сcылка

До меня почему-то только недавно дошло, что каждая фантастическая книга — ещё и историческая. Ладно, не каждая, а только та, которая привносит в жанр что-то новое, а не копирует штампы из того, что было выпущено до неё. В этом случае, о каких бы удалённых по времени событиях мы ни читали, на самом деле мы читаем о картине будущего, какой она рисовалась из того или иного года написания книги. Поэтому теперь таким несуразным ретрофутуризмом выглядит фантастика 80-х вроде Нейроманта, «Призрака в доспехах» или «Бегущего по лезвию». Поэтому же настолько «настоящим будущим» выглядит написанное в совпадающий с нами по времени период. Читать далее

ГигаРоуд — пылающий защитник человечества

Мир в опасности. Неизведанные монстры уничтожают людей. Но только жрица одной страны способна воспользоваться священным оружием, чтобы навсегда избавить всю планету от напасти. И помогут ей в этом…

Стас ненавидит штампы все больше. Вы узнали аниме по описанию? Мне кажется, это не так просто, ибо один из полнометражных фильмов по Наруто имеет отчасти схожую постановку задачи. Сегодня речь пойдет о ГигаРоуде — пылающем защитнике человечества.

Читать далее

Carmina Burana

Подавляющее большинство людей знакомых со словосочетанием «Carmina Burana», знакомы с ним благодаря сценической кантате Карла Орфа, написанной в 1935—1936 годах и впервые исполненной 8 июня 1937 года. Однако:
Читать далее

Капли принца Руперта/Батавские слёзки

Не так давно случайно наткнулась на одно интересное, но бесполезное явление — капли принца Руперта, так же именуемые слезами дьявола, болонскими склянками или Батавскими слёзками. О них и пойдет речь.
Читать далее

Отзыв «Унесенные призраками»

Всем доброго дня.
Недавно Стас посмотрел анимационный фильм Унесенные призраками. Многим известно это произведение Хаяо Миядзаки. Тому есть много причин, и о некоторых из них будет упомянуто в этой статье.
Премьера фильма состоялась в 2001 году, но до России он дошел спустя год. Другое его название, если верить Википедии — «Сэн и таинственное исчезновение Тихиро». Это довольно интересно, учитывая, что это один и тот же персонаж. И имя менялось совсем не из-за прихоти главной героини — нет, у неё забрали имя и память, практически лишив возможности выбраться из ситуации, в которую она попала в самом начале картины.
Читать далее

О джанк-, смэш-, скрап- и скетчбуках и о том с чем это едят)

Сегодня речь пойдет о ведении блокнотов и разновидностях их ведения, а точнее о джанк-, смэш-, скрап- и скетчбуках.
На самом деле все это так или иначе напоминает личный дневник с вырезками, памятными билетами и чеками, и записями о палитре эмоций испытанных в описываемый день. Итак чем же отличаются все эти буки)

Читать далее

Отзыв: Призрак в доспехах

Всем хорошего дня!
Не далее чем пару дней назад я смотрел аниме «Призрак в доспехах». Поскольку мне всегда нравился этот фильм, было бы очень странно, если бы я не сделал на него отзыв.
Первый раз, помнится, увидел я Ghost in the Shell в далеком детстве. Естественно, многое было непонятно, но визуальный ряд и музыка привлекали внимание. С тех пор аниме было пересмотрено не один раз.

Читать далее

Отзыв на фильм «Он дракон» byKai

Сколько раз я зарекалась смотреть что-то с упоминанием жанра «мелодрама», но безнадежная вера в отечественный кинематограф в очередной раз оказалась сильнее.
И зря… Читать далее

Ночь кино: Хардкор, Экипаж, Первый мститель: Противостояние

Не так давно, я со своей любимой девушкой, лучшим другом и одногруппниками сходил на «Ночь кино». «Ночь кино» — это такое мероприятие в кинотеатре, в котором показывают подряд несколько фильмов в ночное время за низкую цену. Не знаю насколько была низкая цена за билет, но все три фильма мне обошлись в 430 рублей. А что я смотрел, вы узнаете ниже из моих отзывов. Читать далее