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 в Твіттері
    
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.