Dalek.js позволяет писать тесты, которые ходят по веб-страничкам, щелкают ссылки, заполняют формы, отправляют данные и делают скриншоты. То же самое и даже больше делают тесты, написанные с использованием Selenium’а или Phantom.js, в чем подвох?
Но! Посмотрите, как прост этот тест.
test.js
module.exports = { 'Page title is correct': function (test) { test .open('http://google.com') .assert.title().is('Google', 'It has title') .done(); } };
Открываем google.com в браузере и убеждаемся, что в заголовке страницы действительно написано ‘Google’.
Чтобы его запустить необходимо:
а ) установить Dalek.js и драйвера для желаемых браузеров (PhantomJS работает из коробки) в директорию заранее созданного проекта node (хотя сам проект по сути не нужен)
Например: Dalek.js + Chrome Driver
$ npm install dalek-cli -g $ npm install dalekjs --save-dev $ npm install dalek-browser-chrome --save-dev
б) и выполнить команду:
$ dalek test.js //для тестирования в PhantomJS $ dalek test.js -b chrome //для тестирования в Chrome
Еще простой тест из документации:
module.exports = { 'Amazon does its thing': function (test) { test .open('http://www.amazon.com/') .type('#twotabsearchtextbox', 'Blues Brothers VHS') .click('.nav-submit-input') .waitForElement('#result_0') .assert.text('#result_0 .newaps a span').is('The Blues Brothers') .done(); } };
На Amazon’е ищем видеокассету Blues Brothers и убеждаемся, что в результатах поиска действительно есть искомое.
Не буду дальше копипастить официальную документацию и примеры (всё подробно и понятно на www.dalekjs.com ), а попрошу поддержать проект вашим вниманием. Почему?
Решив освоить использование PhantomJS для тестирования взамен Selenium, стал искать на каком фреймворке (Mocha,Jasmine,…) будет удобнее писать тесты. Слово за слово, и вот Google дал ссылку на этот проект. Написать тест и запустить его сначала в визуальном режиме (на Chrome), а затем в консольном (на PhantomJS ) получилось очень быстро.
Считаю, что Dalek.js имеет несколько удобных фишек: chain-стиль вызовов функций с минимумом параметров, не требует супершаманских танцев с установкой, неплохо документирован. У проекта большое количество открытых багов и обещаний добавить функциональности (например, как минимум, хочется движений мыши, загрузки файлов в формы).
Внимание сообщества в виде увеличения количества звездочек на GitHub’е и твитов в медиапространстве может быть хоть немного поспособствует активности разработки Dalek.js, который пилят уже примерно год несколько ребят из Германии, как считаете?
ссылка на оригинал статьи http://habrahabr.ru/post/232191/
Добавить комментарий