Автоматическое тестирование
Описание тестов
Для взаимодействия с элементами web-интерфейса системы тестирования используются классы страниц
suite_new/Nsuts/Page, инкапсулирующие взаимодействие со страницами системы при помощи Selenium API (Perl
WWW::Selenium).
В данных классах страниц используются специальные функции
waitForElementPresent,
waitForTextPresent и
waitForPageToLoad, написанные с учетом более удобного логирования и устойчивости к ошибкам, связанным с timeout'ми.
Каждый запрос страницы и ввод данных в пользовательские формы должен предваряться этими функциями.
Все тесты системы NSUts реализуются при помощи тестовых классов, содержащиеся в директории
suite_new/Nsuts/Test.
Запуск тестов осуществляется следующим образом:
Функциональные Selenium тесты
Для запуска тестов необходимо:
1. Perl (
Active Perl?)
2. Java
3. Скачать файлы Selenium RC
http://seleniumhq.org/download/
4. подложить в папку Perl lib из Selenium RC (сейчас лежит в
\\swsoft\transfer)
5. сделать checkout тестов из svn: svn+ssh://swsoft.nsu.ru/home2/svn/olympic/trunk/tests
6. запустить selenium-server-1.0.3\run_selenium_server.pl
Запустится окно консоли, куда во время запуска тестов будет писаться лог тестов.
7. изменить конфиг файл test_suite.cfg
8. запустить suite_new\run_all_tests.pl
(Это можно сделать, например, в Notepad++, скачав дополнительно плагин
Npp Exec?
и прописав путь к Perl
подробнее )
Upd: добавлен новый скрипт
run_nsuts_tests.pl, оптимизирующий запуск автоматических Selenium тестов.
Запуск скрипта:
- без аргументов: выполнение всех тестов из директории, заданной в параметре tests_path конфигурационного файла test_suite.cfg;
- с аргументами: аргументы в виде имен тестов (напр. TestEncoding TestNews) задают выполнение конкретных тестов из тестовой директории.
После каждого выполненного теста запускается сервис
nsuts_db_service для переинициализации созданной тестовой БД.
Адрес скрипта
nsuts_db_service прописывается в конфигурационном файле
test_suite.cfg в параметре
db_service_url.
Результатом работы скрипта является набор логов для каждого теста в директории
log и результирующий отчет по всем тестам
SUMMARY.txt в текущей директории.
Запуск тестов и обработка статистики выполняется через модуль Perl
TAP::Harness (можно скачать с
CPAN.org в случае его отсутствия в списке модулей интерпретатора Perl).
Блочные тесты