Dalek.js — простое функциональное тестирование веб-приложений

от автора

Вы знаете, что такое Selenium и/или PhantomJS? И с чем их едят? Тогда, возможно, вам будет интересен проект Dalek.js — кроссбраузерная утилита для тестирования веб-приложений.

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, который пилят уже примерно год несколько ребят из Германии, как считаете?

Оф.сайт Dalek.js
Dalek.js на GitHub
Dalek.js в Твиттере

ссылка на оригинал статьи http://habrahabr.ru/post/232191/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *