автоматизация тестирования с помощью Selenium
-
Upload
vyacheslavmaslov -
Category
Documents
-
view
289 -
download
2
Transcript of автоматизация тестирования с помощью Selenium
Test Automation
• Автоматизация тестирования нужна для Для установки предусловий для выполнениятестов
Для выполнения самих тестов
Для сравнения фактического и ожидаемогорезультата
Для формирования отчетности о выполнениитестов
• Обычно, автоматизируют уже созданные тестовыесценарии, которые уже выполняются в ручном режиме врамках какого-либо формализованного процесса
Зачем и когда автоматизировать?
• Частое регрессионное тестирование
• Требуется повторное выполнение теста
• Приемочное тестирование
• Быстрая обратная связь разработке
• Минимизировать человеческий фактор
• Тестирование одного приложения в разных окружениях
Selenium
• Selenium это набор инструментов для быстройразработки автоматических тестов.
• Selenium предоставляет богатый набор функцийкоторые очень хорошо подходят для разработкитестов веб-приложений.
• Selenium команды позволяют удобным способомобрабатывать UI элементы и сравниватьожидаемое поведение приложения сфактическим
Возможности Selenium
• Поддерживает кросс-бразуерное тестирование. Тесты selenium можно запускать во всех современных браузерах
• Поддерживает написание тестовых скриптов на нескольких языках Java, C#, PHP and Python.
• Богатый набор assert- команд для сравнения ожидаемого и фактического результата
• Встроенный механизм отчетности (логи)
Selenium Components
• Selenium IDE
• Selenium WebDriver
• Selenium RC
• Selenium Server
• Selenium Grid
Selenium IDE
• Selenium IDE это среда разработки для тестов• Реализована расширением для Firefox и
позволяет записывать, редактировать ивоспроизводить тесты
• Selenium IDE умеет сохранять тесты в форматеHTML, Java, Ruby scripts, и ещё нескольких
• Позволяет автоматически добавлять assertions• Позволяет добавлять Selenese команды когда и
куда требуется
Основные команды Selenese
Переход по ссылкам – click,clickAndWait
Ввод значений - type
Выбор значений из выпадающих списков – select
Проверка ожидаемых результатов verify/assert
Команды условного ожидания – wait*
Локатор – это строка которая однозначно идентифицирует UI элемент
• id=login• name=password• link=Найти• xpath=(//button[@type='submit'])[2]• css=a.ra-search-form-currency-link > span
Добавление assertions в тест
• Selenese позволяет проверять UI элементы разными способами
• Команды verify/assert используются для Проверки наличия UI элемента на странице
Проверки наличия текста на странице
Проверки состояния UI элемента
• Если не выполняется условие assert весь тест проваливается, если не выполняется verify фиксируется ошибка в лог и тест продолжает выполнение
16
Команды verifyverifyTextPresent
Использутсядля проверки
наличия текста на странице.
Добавить можно из
контекстного меню в
браузере
Команды verify
verifyTitle Позволяет проверить title
страницы.
Добавить можно также изконтекстного меню браузера
Команды verify
verifyElementPresent Провряет наличие конкретного
UI элемента на странице(кнопка, ссылка, поле ввода,итд)
Можно добавить изконтекстного менюбраузера,непосредственно «встав»на элемент и вызвавконтекстное меню
Assertions
• Команды assert работают аналогично командам verify. Единственное и важное отличие, если assert не выполняется, то прерывается весь тест и помечается как fail. Если не выполняется verify то тест продолжает работу, записывается ошибка в лог.
Assertion
assertTextPresentПроверяет наличие текста
assertTextПроверяет наличие текста у какого-либо UI элемента.
assertTitleПроверяет корректность заголовка страницы
assertValueПроверяет значение у поля ввода
assertElementPresentПроверяет наличие элемента на странице
WaitFor команды
waitForPageToLoadЖдет полной загрузки страницы
Синтаксис waitForPageToLoad(timeout); timeout –максимальное время ожидания