Archive
Selenium IDE как артефакт пикника на обочине
Обычные, адекватные люди (it crowd programmers) при необходимости создать ряд автоматизированных тестов в рамках OpenSource инструментов используют для записи и прогона автоматизированных тестов нечто вроде Selenium IDE + JAVA + Selenium RC + Eclipse.
Алгоритм:
- Запускаем Selenium IDE и кликаем по приложению.
- Полученный код конвертируем на язык программирования, которым владеем.
- Переносим этот код в среду разработки.
- Превращаем куски этого кода в отдельные методы и разруливаем ситуацию по своему усмотрению.
- Запускаем тест-сьюты и отстраненно наблюдаем за ходом работы Selenium RC.
Я использую только первые два хода, затем не совсем стандартно разруливаю ситуацию непосредственно в Selenium IDE:
- Запускаю Selenium IDE и кликаю по приложению.
- Полученный код подправляю, снабжая его комментариями и дополнительными проверками.
- Полученный итоговый код разбиваю на логические сущности, которые можно выносить в отдельные файлы (по-ситуации).
- Выносимые файлы располагаются в разных каталогах, собранных в упорядоченную логическую структуру. Во всех подобных файлах используются переменные. Все подобные файлы используются и в других тест-сьютах.
- Собираю отдельный тест-сьют для проверки отдельного сценария.
- Выношу содержимое нужных мне переменных в отдельный html файл, который содержит команды StoreExpression и StoreEval (по ситуации).
- Запускаю отельные тест-сьюты при необходимости, а не все сразу один за другим, как это обычно делается.
Причина нестандартного подхода простая: мне нужен Selenium как вспомогательный инструмент, которые в нужное время быстро делает какие-то дела, а не как отдельный робот, который самостоятельно шурует по всему процессу тестирования от и до, выдавая только логи проделанной работы.
Изначально именно это я и хотел сделать , но бизнес у меня это дело не заказывал. Заказ был на ручное, функциональное тестирование, которое я ускорил за счет применения Selenium IDE.
Поднимать и в дальнейшем поддерживать отдельный тестовый фреймворк, слава Баранцеву, можно. Но в моем случае – не нужно. У меня относительно малые тесты то и дело все еще падают от столкновений с особенностями Ajax, и ковыряться в большом спагетти-приложении мне совсем не хочется, да и не просят.
Нужен помощник, а не тиран.
Selenium IDE отлично работает в качестве помощника, но он снабжен одной странностью, которую я не могу объяснить.
Эта странность уже дала мне ощутимое конкурентное преимущество перед моим предыдущим уровнем тестирования, но побороть ее пока не представляется возможным.
Странность в том, что совершенно адекватное поведение тула проявляется только в связке Selenium IDE + Ubuntu, и совершенно не работает в связке Selenium IDE + Windows.
Комментарии