SlideShare a Scribd company logo
Автоматизация тестирования с 
помощью Selenium
Test Automation 
• Автоматизация тестирования нужна для 
 Для установки предусловий для выполнения 
тестов 
 Для выполнения самих тестов 
 Для сравнения фактического и ожидаемого 
результата 
Для формирования отчетности о выполнении 
тестов 
• Обычно, автоматизируют уже созданные тестовые 
сценарии, которые уже выполняются в ручном режиме в 
рамках какого-либо формализованного процесса
Зачем и когда автоматизировать? 
• Частое регрессионное тестирование 
• Требуется повторное выполнение теста 
• Приемочное тестирование 
• Быстрая обратная связь разработке 
• Минимизировать человеческий фактор 
• Тестирование одного приложения в разных 
окружениях
автоматизация тестирования с помощью Selenium
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 команды когда и 
куда требуется
9 
Selenium IDE - UI 
Start/Stop записи 
Редактор теста 
Лог выполнения
Основные команды Selenese 
 Переход по ссылкам – click,clickAndWait 
 Ввод значений - type 
 Выбор значений из выпадающих списков – select 
 Проверка ожидаемых результатов verify/assert 
 Команды условного ожидания – wait*
Пример структуры html документа (dom tree)
Локатор – это строка которая однозначно 
идентифицирует UI элемент 
• id=login 
• name=password 
• link=Найти 
• xpath=(//button[@type='submit'])[2] 
• css=a.ra-search-form-currency-link > span
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Selenium
Добавление assertions в тест 
• Selenese позволяет проверять UI элементы 
разными способами 
• Команды verify/assert используются для 
 Проверки наличия UI элемента на странице 
 Проверки наличия текста на странице 
 Проверки состояния UI элемента 
• Если не выполняется условие assert весь тест 
проваливается, если не выполняется verify 
фиксируется ошибка в лог и тест продолжает 
выполнение
16 
Команды verify 
verifyTextPresent 
Использутсядля проверки 
наличия текста на странице. 
Добавить можно из 
контекстного меню в 
браузере
Команды verify 
verifyTitle 
 Позволяет проверить title 
страницы. 
 Добавить можно также из 
контекстного меню браузера
Команды verify 
verifyElementPresent 
 Провряет наличие конкретного 
UI элемента на странице 
(кнопка, ссылка, поле ввода, 
итд) 
 Можно добавить из 
контекстного меню 
браузера, 
непосредственно «встав» 
на элемент и вызвав 
контекстное меню
Assertions 
• Команды assert работают аналогично 
командам verify. Единственное и важное 
отличие, если assert не выполняется, то 
прерывается весь тест и помечается как 
fail. Если не выполняется verify то тест 
продолжает работу, записывается 
ошибка в лог.
Assertion 
 assertTextPresent 
Проверяет наличие текста 
 assertText 
Проверяет наличие текста у какого-либо UI элемента. 
 assertTitle 
Проверяет корректность заголовка страницы 
 assertValue 
Проверяет значение у поля ввода 
 assertElementPresent 
Проверяет наличие элемента на странице
WaitFor команды 
waitForPageToLoad 
Ждет полной загрузки страницы 
Синтаксис waitForPageToLoad(timeout); timeout – 
максимальное время ожидания
WaitFor команды 
waitForAlert 
Команда ждет появление всплывающего окошка с 
сообщением 
waitForTable 
Ждет полной загрузки таблицы 
waitForTitle 
Ждет появления страницы с нужным заголовком 
waitForText 
Ждет появления текста на странице

More Related Content

PPTX
автоматизация тестирования с помощью Selenium
PPTX
Автоматизация и Selenium IDE
PDF
Плюсы и минусы автоматизации, пример из жизни
PPT
Функциональное тестирование. Семейство продуктов Selenium
PPTX
Оценка качества автотестов
PPT
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
PDF
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
PPT
Решения для автоматизации тестирования Web-приложений на базе Selenium
автоматизация тестирования с помощью Selenium
Автоматизация и Selenium IDE
Плюсы и минусы автоматизации, пример из жизни
Функциональное тестирование. Семейство продуктов Selenium
Оценка качества автотестов
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Решения для автоматизации тестирования Web-приложений на базе Selenium

What's hot (19)

PPTX
Automation testing desktop applications
PDF
Автоматизация функционального тестирования REST API
PPTX
Поиск багов в поиске
PPTX
Selenium, а давай подождем?
PPTX
Типичные ошибки начинающих писать тесты на WebDriver
PPTX
Selen framework
PPT
Selenium Begins
PPT
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
PPT
Руководство по приготовлению бутербродов из Selenium
PDF
Визуализация покрытия автоматизированными UI тестами
ODP
Selenium на практике и подводные камни
PPTX
(Seleniumcamp) Selenium RC for QA Engineer
PDF
Mobile Saturday. Тема 4. Автоматизация тестирования верстки (Александр Хотем...
PDF
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
PDF
Allure Framework
PPTX
Инструменты для тестирования UI
PPTX
Расширяемая платформа для создания и управления автоматизированными тестами н...
PPT
Опыт тестирования API САПР платформы
PPTX
Katerina Simonova CSEDays
Automation testing desktop applications
Автоматизация функционального тестирования REST API
Поиск багов в поиске
Selenium, а давай подождем?
Типичные ошибки начинающих писать тесты на WebDriver
Selen framework
Selenium Begins
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Руководство по приготовлению бутербродов из Selenium
Визуализация покрытия автоматизированными UI тестами
Selenium на практике и подводные камни
(Seleniumcamp) Selenium RC for QA Engineer
Mobile Saturday. Тема 4. Автоматизация тестирования верстки (Александр Хотем...
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
Allure Framework
Инструменты для тестирования UI
Расширяемая платформа для создания и управления автоматизированными тестами н...
Опыт тестирования API САПР платформы
Katerina Simonova CSEDays
Ad

Similar to автоматизация тестирования с помощью Selenium (20)

KEY
Путеводитель в мире Selenium
PDF
Testing with Selenium
PPTX
Эволюция автотестирования на Selenium
PPTX
Selenium vs AJAX
PDF
Codeless: автоматизация тестирования
PDF
Тестирование весна 2014 смешанное занятие 1
PPTX
А вы знаете что тестируют ваши тесты?
PPTX
Do you know what you are testing?
PPTX
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
KEY
Testing RIA with Selenium
PPTX
Automation Functional Testing in Agile Projects
PDF
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
PPTX
Automation Overview
PPTX
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
PPTX
Hayorov AA selen_internal_demo
PDF
Тестирование осень 2013 лекция 3
PPT
Functional Testing with Selenium
PPTX
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Путеводитель в мире Selenium
Testing with Selenium
Эволюция автотестирования на Selenium
Selenium vs AJAX
Codeless: автоматизация тестирования
Тестирование весна 2014 смешанное занятие 1
А вы знаете что тестируют ваши тесты?
Do you know what you are testing?
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Testing RIA with Selenium
Automation Functional Testing in Agile Projects
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Automation Overview
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Hayorov AA selen_internal_demo
Тестирование осень 2013 лекция 3
Functional Testing with Selenium
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Ad

More from vyacheslavmaslov (14)

PPT
6 лекция. тестирование производительности
PPT
5 лекция. презентация
PPT
3 лекция. презентация
PPT
3 лекция. презентация
PPTX
How towritebugreports
PPT
02-lection-ka
PPT
01-lection-ka
PPTX
белый ящик
PPTX
03 load testing
PPTX
PPTX
How towritebugreports
PPTX
тестирование по стратегии черного ящика
PPTX
PPTX
6 лекция. тестирование производительности
5 лекция. презентация
3 лекция. презентация
3 лекция. презентация
How towritebugreports
02-lection-ka
01-lection-ka
белый ящик
03 load testing
How towritebugreports
тестирование по стратегии черного ящика

автоматизация тестирования с помощью Selenium

  • 2. Test Automation • Автоматизация тестирования нужна для  Для установки предусловий для выполнения тестов  Для выполнения самих тестов  Для сравнения фактического и ожидаемого результата Для формирования отчетности о выполнении тестов • Обычно, автоматизируют уже созданные тестовые сценарии, которые уже выполняются в ручном режиме в рамках какого-либо формализованного процесса
  • 3. Зачем и когда автоматизировать? • Частое регрессионное тестирование • Требуется повторное выполнение теста • Приемочное тестирование • Быстрая обратная связь разработке • Минимизировать человеческий фактор • Тестирование одного приложения в разных окружениях
  • 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*
  • 11. Пример структуры html документа (dom tree)
  • 12. Локатор – это строка которая однозначно идентифицирует UI элемент • id=login • name=password • link=Найти • xpath=(//button[@type='submit'])[2] • css=a.ra-search-form-currency-link > span
  • 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 Ждет появления текста на странице