Sahi
Sahi - opensource инструмент для автоматического тестирования web-приложений.
- Сайт http://sahi.sourceforge.net
- Лицензия - Apache Licence V2.0
- Написан на java
- В данный момент бета-версия
Используется в проекте школьные библиотеки, был выбран в результате исследования.
ОписаниеПравить
АрхитектураПравить
Архитектура представлена на рисунке. Файл:Sahi architecture.gif
Из рисунка можно понять, что sahi:
- использует браузер как движок
- работает прокси-сервером
ПреимуществаПравить
- позволяет записывать скрипты по действиям
- мощное API
- простой язык скриптов - JavaScript
- интеграция с Ant - удобно при автоматизации
- создает html логи
- кроссплатформенность
НедостаткиПравить
- бета версия
- не решенные баги
Про браузерПравить
Для работы нужен мощный современный браузер (проверено IE, Firefox). Всякие их младшие, не графические и прочие собратья работать с Sahi не будут. Под Linux браузера надо запускать из под графической консоли (он же графический).
СкриптыПравить
Язык скриптов JavaScript, можно использовать стандартные функции. Есть свое API - достаточно удобное и мощное.
Поддерживаемые элементыПравить
- элементы форм (textbox, passwordbox, select, ...)
- radiobutton/button
- image
- простые ссылки
- таблицы
- всякие другие
- не было обнаружено не работающих элементов
ФункцииПравить
- работа с пременными в том числе глобальными
- клики, клики по изображениям
- симуляция событий JavaScript
- highlight
- drag-and-drop
- пауза при исполнении
- функции с сервера
- работа с mock-объектами
- логгирование из скриптов
- закачка файлов
- всяческие assert`ы: null, true, not
- проверка текста на содержание строки/html
- чтение из файлов
БагиПравить
- не латинские символы в скриптах записываются через escape метод юникода (\\uXXXX), и при воспроизведении не работают.
- замена "\\u" на "\u" в скриптах решает проблему
- (на заметку) если в web-приложении есть процедура аутенфикации, то смена его доменного имени приводит к тому, что браузер (firefox) снова запрашивает его запоминание. Так что надо снова зайти на него и руками объяснить Firefox никогда не запоминать пароль для этого сайта. В противном случае он спрашивает "запомнить пароль для этого сайта" и автоматизированные тесты не выполняются до конца.
- или вообще отключить эту функцию браузера
ЗаключениеПравить
Не смотря на простоту Sahi является мощным инструментом для тестирования web-приложений. Интеграция с Ant и логи в html позволяют эффективно использовать его при автоматическом регрессивном тестировании. Именно в таком режиме Sahi применяется в проекте школьные библиотеки. Его простота в данном случае является большим преимуществом, а функциональности достаточно.
По крайней мере часть этого текста взята с ресурса http://lib.custis.ru/ под лицензией GDFL.Список авторов доступен на этом ресурсе в статье под тем же названием.