2. Test Automation
• Автоматизация тестирования нужна для
Для установки предусловий для выполнения
тестов
Для выполнения самих тестов
Для сравнения фактического и ожидаемого
результата
Для формирования отчетности о выполнении
тестов
• Обычно, автоматизируют уже созданные тестовые
сценарии, которые уже выполняются в ручном режиме в
рамках какого-либо формализованного процесса
3. Зачем и когда автоматизировать?
• Частое регрессионное тестирование
• Требуется повторное выполнение теста
• Приемочное тестирование
• Быстрая обратная связь разработке
• Минимизировать человеческий фактор
• Тестирование одного приложения в разных
окружениях
4.
5. Selenium
• Selenium это набор инструментов для быстрой
разработки автоматических тестов.
• Selenium предоставляет богатый набор функций
которые очень хорошо подходят для разработки
тестов веб-приложений.
• Selenium команды позволяют удобным способом
обрабатывать UI элементы и сравнивать
ожидаемое поведение приложения с
фактическим
6. Возможности Selenium
• Поддерживает кросс-бразуерное тестирование.
Тесты selenium можно запускать во всех
современных браузерах
• Поддерживает написание тестовых скриптов на
нескольких языках Java, C#, PHP and Python.
• Богатый набор assert- команд для сравнения
ожидаемого и фактического результата
• Встроенный механизм отчетности (логи)
7. Selenium Components
• Selenium IDE
• Selenium WebDriver
• Selenium RC
• Selenium Server
• Selenium Grid
8. Selenium IDE
• Selenium IDE это среда разработки для тестов
• Реализована расширением для Firefox и
позволяет записывать, редактировать и
воспроизводить тесты
• Selenium IDE умеет сохранять тесты в формате
HTML, Java, Ruby scripts, и ещё нескольких
• Позволяет автоматически добавлять assertions
• Позволяет добавлять Selenese команды когда и
куда требуется
9. 9
Selenium IDE - UI
Start/Stop записи
Редактор теста
Лог выполнения
10. Основные команды Selenese
Переход по ссылкам – click,clickAndWait
Ввод значений - type
Выбор значений из выпадающих списков – select
Проверка ожидаемых результатов verify/assert
Команды условного ожидания – wait*
12. Локатор – это строка которая однозначно
идентифицирует UI элемент
• id=login
• name=password
• link=Найти
• xpath=(//button[@type='submit'])[2]
• css=a.ra-search-form-currency-link > span
13.
14.
15. Добавление assertions в тест
• Selenese позволяет проверять UI элементы
разными способами
• Команды verify/assert используются для
Проверки наличия UI элемента на странице
Проверки наличия текста на странице
Проверки состояния UI элемента
• Если не выполняется условие assert весь тест
проваливается, если не выполняется verify
фиксируется ошибка в лог и тест продолжает
выполнение
16. 16
Команды verify
verifyTextPresent
Использутсядля проверки
наличия текста на странице.
Добавить можно из
контекстного меню в
браузере
17. Команды verify
verifyTitle
Позволяет проверить title
страницы.
Добавить можно также из
контекстного меню браузера
18. Команды verify
verifyElementPresent
Провряет наличие конкретного
UI элемента на странице
(кнопка, ссылка, поле ввода,
итд)
Можно добавить из
контекстного меню
браузера,
непосредственно «встав»
на элемент и вызвав
контекстное меню
19. Assertions
• Команды assert работают аналогично
командам verify. Единственное и важное
отличие, если assert не выполняется, то
прерывается весь тест и помечается как
fail. Если не выполняется verify то тест
продолжает работу, записывается
ошибка в лог.
20. Assertion
assertTextPresent
Проверяет наличие текста
assertText
Проверяет наличие текста у какого-либо UI элемента.
assertTitle
Проверяет корректность заголовка страницы
assertValue
Проверяет значение у поля ввода
assertElementPresent
Проверяет наличие элемента на странице
21. WaitFor команды
waitForPageToLoad
Ждет полной загрузки страницы
Синтаксис waitForPageToLoad(timeout); timeout –
максимальное время ожидания
22. WaitFor команды
waitForAlert
Команда ждет появление всплывающего окошка с
сообщением
waitForTable
Ждет полной загрузки таблицы
waitForTitle
Ждет появления страницы с нужным заголовком
waitForText
Ждет появления текста на странице