Archive

Posts Tagged ‘Архитектура’

Selenium IDE как артефакт пикника на обочине

Обычные, адекватные люди (it crowd programmers) при необходимости создать ряд автоматизированных тестов в рамках OpenSource инструментов используют для записи и прогона автоматизированных тестов нечто вроде Selenium IDE + JAVA + Selenium RC + Eclipse.

Алгоритм:

  1. Запускаем Selenium IDE и кликаем по приложению.
  2. Полученный код конвертируем на язык программирования, которым владеем.
  3. Переносим этот код в среду разработки.
  4. Превращаем куски этого кода в отдельные методы и разруливаем ситуацию по своему усмотрению.
  5. Запускаем тест-сьюты и отстраненно наблюдаем за ходом работы Selenium RC.

Я использую только первые два хода, затем не совсем стандартно разруливаю ситуацию непосредственно в Selenium IDE:

  1. Запускаю Selenium IDE и кликаю по приложению.
  2. Полученный код подправляю, снабжая его комментариями и дополнительными проверками.
  3. Полученный итоговый код разбиваю на логические сущности, которые можно выносить в отдельные файлы (по-ситуации).
  4. Выносимые файлы располагаются в разных каталогах, собранных в упорядоченную логическую структуру. Во всех подобных файлах используются переменные. Все подобные файлы используются и в других тест-сьютах.
  5. Собираю отдельный тест-сьют для проверки отдельного сценария.
  6. Выношу содержимое нужных мне переменных в отдельный html файл, который содержит команды StoreExpression и StoreEval (по ситуации).
  7. Запускаю отельные тест-сьюты при необходимости, а не все сразу один за другим, как это обычно делается.

Причина нестандартного подхода простая: мне нужен Selenium как вспомогательный инструмент, которые в нужное время быстро делает какие-то дела, а не как отдельный робот, который самостоятельно шурует по всему процессу тестирования от и до, выдавая только логи проделанной работы.

Изначально именно это я и хотел сделать , но бизнес у меня это дело не заказывал. Заказ был на ручное, функциональное тестирование, которое я ускорил за счет применения Selenium IDE.

Поднимать и в дальнейшем поддерживать отдельный тестовый фреймворк, слава Баранцеву, можно. Но в моем случае – не нужно. У меня относительно малые тесты то и дело все еще падают от столкновений с особенностями Ajax, и ковыряться в большом спагетти-приложении мне совсем не хочется, да и не просят.

Нужен помощник, а не тиран.

Selenium IDE отлично работает в качестве помощника, но он снабжен одной странностью, которую я не могу объяснить.

Эта странность уже дала мне ощутимое конкурентное преимущество перед моим предыдущим уровнем тестирования, но побороть ее пока не представляется возможным.

Странность в том, что совершенно адекватное поведение тула проявляется только в связке Selenium IDE + Ubuntu, и совершенно не работает в связке Selenium IDE + Windows.

Read more…