Новое расширение к FireFox для web разработчиков

Владимир | | JavaScript, Web разработка.

Буквально на днях появился очень полезный инструмент для JavaScript разработчиков под названием Fireunit.

Он представляет собой фреймворк для тестирования JavaScript кода и выполнен в виде плагина к браузеру FireFox. Написан он в виде надстройки над другим плагином — FireBug. И, как вы понимаете, работать без установленного FireBug не будет.

Кстати, авторы плагина: John Resig и Jan Odvarko.

Рассмотрим основные возможности Fireunit.

Интерфейс

Тут все просто. После установки плагина в окне Firebug появляется новая вкладка «Test» в которой выводятся результаты выполнения тестов.

Создание собственных тестов.

Каких-то специальных требований к оформлению тестов Fireunit не выдвигают. Насколько я понял, тестом считается вызов методов объекта fireunit (правда не всех).

Рассмотрим небольшой пример.

fireunit.ok(5 == 5, 'Все отлично');
fireunit.ok(5 == 4, 'Ошибка');

fireunit.compare(
  "Посмотрим, как с поддержкой кирилицы.",
  "Посмотрим, как с поддержкой кириллицы.",
  "Одинаковые строки?"
);

fireunit.reCompare(
  /кириллица/,
  "А теперь кириллица в регулярных выражениях.",
  "Сравнение с помощью регулярных выражений."
);

В первых двух строках вызывается метод ok. В его первом параметре указываем условие, которое нужно проверить, во втором – сообщение. Если условие возвращает true – тест проходит, если false – нет.

Следующий метод – compare. Он просто сравнивает строки, указанные в первом и втором параметрах. Если эти строки одинаковые – тест пройден. Третий параметр – название теста.

Метод reCompare похож на предыдущий, только ищет он регулярное выражение, заданное в первом параметре, в строке, указанной во втором параметре.

Результат выполнения этих тестов показан на скриншоте

fireunit tests

Как видите, тесты с ошибками выделены красным.

Обратите внимание, что каждый тест имеет вкладку Test Location (в ней указан адрес файла с тестом), а методы compare и reCompare еще и вкладку «Compare» с результатами сравнения.

Думаю, вы заметили, что меня интересовала поддержка кириллицы, и, должен сказать, я не встретил ни одной ситуации в которой русские буквы отображались бы неправильно. За это авторам отдельное спасибо 😉

Дополнительные возможности

Кроме сравнений плагин может эмулировать действий посетителя. На данный момент поддерживаются методы:

mouseDown
click
focus
key

Думаю, объяснять, что они означают не нужно. Лучше приведу небольшой пример.

Допустим, у нас есть форма.

<form action="index.php" method="post">
	<p><input type="text" name="myfield" /></p>
	<p><input type="submit" value="Отправить" /></p>
	<p><input type="button" value="Заполнить форму" onclick="populateAndSend()" /></p>
</form>

Одно текстовое поле и две кнопки. Первая – отправляет данные формы в нормальном режиме. Вторая – вызывает функцию (populateAndSend), которая автоматически вводит данные в текстовое поле и нажимает первую кнопку.

function populateAndSend() {
	var textField = document.getElementsByTagName("input")[0];
	fireunit.key( textField, "В" );
	fireunit.key( textField, "о" );
	fireunit.key( textField, "в" );
	fireunit.key( textField, "а" );
	
	var sbm = document.getElementsByTagName("input")[1];
	fireunit.click( sbm );
}

Как видите, сначала нам нужно найти элемент, с которым нужно работать (строки 2 и 8), а после этого передавать его в первом параметре методов key и click. Во втором параметре метода key мы передаем символ, который нужно ввести в поле.

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

Заключение

Инструмент получился очень интересный и полезный. Функциональность сейчас самая минимальная, но в будущих версиях она будет расширена. Учитывая репутацию авторов проекта, думаю, в этом сомневаться не стоит 🙂

Интересно почитать.

Мечтаете о собственном доме? Земельные участки для вас.
Безопасность прежде всего. Защититься от вирусов вам поможет Kaspersky Internet Security 2009.
Престижная работа в Киеве — это реальность. Главное ваше желание работать.