2. 1. Стратегия выбора способа для создания
автотестов для web-приложений с
помощью Selenium
2. Особенности различных способов
3. Как изменяются тесты при различных
методах их создания
4. Все на примерах!
3. Будут рассмотрены 4-ре вида автотестов:
• Автосгенерированные
• Написанные в процедурном стиле
• Написанные в стиле ООП
• Написанные с помощью дополнительных
фреймворков
4. Существование различных способов
создания тестов обусловлено:
• Временем на их создание
• Планируемым временем поддержки
• Навыками людей
• Сложность тестируемой системы
• Необходимые проверки
5. Test-case 1:
1. Log In as user1 (user1/pas1)
2. Check that active user is User1
3. Logout
Test-case 2:
1. Log In as user2 (user2/pas2)
2. Check that active user is User2
3. Click to Settings
4. Logout
6. 1. Общие части, но с разными параметрами
(login as user 1/2)
2. Действия до каждого теста и после
(login/logout)
3. Одинаковые действия, встречающиеся в
разных тестах (login/logout)
4. Действия, которые есть только в одном
тесте (Click Jenkins settings)
7. Средство:
Selenium IDE – плагин для FireFox
Применение:
• Небольшие проекты
• Тесты нужны очень быстро для кратко-
срочных целей
• Слабый уровень квалицикации QA
9. • Достоинства
– Тесты быстро создаются
– Легко обучить персонал
• Недостатки
– Сложность поддержки
– Невозможно организовать некоторые виды
проверок
10. Средство:
Selenium Web Driver – библиотека для
различных языков программирования
Применение:
• Большие проекты
• Если в тестах нужны специфические
проверки
12. • Достоинства
– Позволяют использовать все возможности
выбранного языка программирования
– При правильном написании – достаточно
расширяемы
• Недостатки
– Есть проблемы при долгосрочном
использовании
– Медленное внедрение тестов
– Требуют определенных навыков
программирования у QA
13. Средство:
Selenium Web Driver – библиотека для
различных языков программирования
Паттерн:
Page Object – отделение логики теста от
способа обращения к тестируемому сайту
Применение:
• Большие и долгосрочные проекты
• Если в тестах нужна очень большая
гибкость
14. • Упор на архитектуру тестов
• Описание тестов в стиле ООП
• Создается ООП модель всей тестируемой
системы
• Эта модель не является тестом!
• Она является интерфейсом для будущих
тестов, через который тесты получают
доступ к системе
15. • Описывается каждая страница, к которой
тестам нужно обратится
• В странице только те действия, которые
можно на ней выполнить
• Если есть переход на другую страницу – то в
модели тоже происходит переход на другой
объект
• Другой объект может выполнять только те
действия, которые есть на реальной
странице
16. • В тестах используется только модель
• Тот кто пишет тест не видит
подробности работы WebDriver, для
этого человека из модели доступны
только те действия, которые можно
выполнять на одноименной странице
• Остальные принципы построения тестов
такие как и в предыдущем методе
20. • Достоинства
– Максимальная гибкость тестов
– Все преимущества предыдущего подхода
– Эффективная поддержка тестов в
долгосрочной перспективе
• Недостатки
– Очень медленное внедрение тестов
– Требуют высокий уровень знания
программирования у QA
21. Для ускорения процесса создания тестов
можно пользоваться различными
средствами.
Одним из таких средств является
фреймворк xml2selenium.
Это средство для создания тестов через
описание их логики в XML файлах.
22. Предпосылки для создания фреймворка:
- вопросы тестирования нескольких версий
одного и того же продукта
- повторно-используемость наработок в тестах,
в том числе, и с разных проектов
- возможность быстро изменять данные в тестах
- возможность быстро поменять значения, или
даже логику теста
25. - Плагинность, полная расширяемость
- Простое API
- Сохранение скриншотов и видео теста
- Интеграция с Junit, но независимость от него.
Возможность создавать свои раннеры
- Удобные репорты для бизнес-пользователей
- Поддержка if/for
- Возможность самотестирования
26. - Не нужны знания программирования
- Возможность использования лучших
возможностей программирования:
объединение общих фрагментов,
использование переменных и файлов
- Возможность data driven testing
- Возможность нагрузочного тестирования
27. • Включает в себя достоинства 1-го и 2-го
метода написания тестов:
– Не нужно много времени чтобы начать
писать тесты
– Тесты создаются быстро
– Есть возможность с помощью плагинов
реализовать любую необходимую проверку
– Тесты легко поддерживаемы и расширяемы
28. • Включает в себя достоинства 1-го и 2-го
метода написания тестов:
– Не нужно много времени чтобы начать
писать тесты
– Тесты создаются быстро
– Есть возможность с помощью плагинов
реализовать любую необходимую проверку
– Тесты легко поддерживаемы и расширяемы
29. Отвечу на любые ваши вопросы. Также
помогу более детально познакомится с
проектом Xml2Selenium
Мычко Алексей
JazzTeam
aliaksei.mychko@jazzteam.org