SlideShare a Scribd company logo
Константин Прищенко Selenium RC и Python: История одного проекта
Содержание Введение Selenium IDE Использование mapping-файла PageObject model Modified PageObject model Введение в py.test Заключение
Введение
Введение Server: OS Ubuntu Linux Workstation: OS Windows XP/7 Workstation: Mac OS X
Selenium IDE
Selenium IDE
Selenium IDE
Selenium IDE Преимущества : Простота  написания тестов с использованием такого метода Недостатки : Очень много повторяющегося кода. Локаторы объектов хранятся в тесте.
Внешний файл для хранения локаторов
Использование mapping-файла Для обеспечения лучшего контроля вынесем объявление всех локаторов в отдельное хранилище. Это может быть xml-файл:
Использование mapping-файла Это может быть cfg/ini-файл: Был выбран для использования cfg-файл из-за простоты реализации и поддержки.
Использование mapping-файла Пример кода для работы с cfg-файлом: В итоге мы получаем возможность получать локатор:
Использование mapping-файла
Использование mapping-файла Преимущества данного подхода: Если локатор меняется – его необходимо обновить только в одном месте; Повышается читабельность кода – имена локаторов позволяют понять логику теста;
Использование Page Object модели
PageObject модель Модель сайта: MainPage Sign in Open ent.page EntertainmentPage Open music view MusicPage Sort by Music style Show only
PageObject модель Для данной модели необходимо использовать mapping-файл с отдельной секцией для каждой страницы.
PageObject модель Пример класса для базовой страницы: Создание объекта:
PageObject модель Пример класса для базовой страницы: Нажатие на кнопку/ссылку:
PageObject модель Пример класса для страницы:
PageObject модель
PageObject модель Данный подход позволяет: Улучшить структуру тестов; Уменьшить повторяемость кода; Увеличить читабельность кода; Упрощается поддержка тестов в случае изменения тестируемого приложения.
Использование модифицированной Page Object модели
Modified PageObject модель Модель сайта: Page model Is text on page Reload Close Link model Click Double click TextField model Set text Get text Verify text Page model Is text on page Reload Close Link model Click Double click TextField model Set text Get text Verify text
Modified PageObject модель Выделим следующий элемент в логической структуре PageObject модели — объект элемента страницы, что обеспечит: Улучшенную структуру объектов страниц; Уменьшит повторяемость кода; Уменьшит время на ознакомление с общей моделью.
Modified PageObject модель Данный подход позволит поместить необходимые проверки во внутрь методов элементов:
Modified PageObject модель Данный подход не изменяет внешнего вида теста.
Modified PageObject модель С помощью данного подхода упрощается работа с о специфическими элементами различных библиотек. Например JSON ComboBox-элемент: поле для ввода, кнопка и div-секции со всеми возможными элементами.
Modified PageObject модель
Введение в py.test
Введение в py.test Система разработана Holger Krekel-ом. Инсталляция:  easy_install py test pip install py test Запуск через командную строку:  py.test
Введение в py.test Стандартные операции ввода/вывода показываются только в случае ошибки Автоматическое распознование тестов: ищутся все файлы test_*.py внутри файлов ищутся все функции test_* и все Test классы.
Введение в py.test Для верификации значений в тесте используется assert:
Введение в py.test Можно пропустить тест: Можно пропустить тест при условии: Можно пометить тест как негативный: Можно пометить тест своей собственной меткой:
Введение в py.test
Заключение
Заключение
Заключение По-моему мнению, связка Selenium RC + py.test с использованием PageObject модели для автоматического тестирования является наиболее оптимальной.  Построенный фреймворк позволил использовать тесты для: проверки новой версии приложения  (BVT); полной проверки приложения ( full regression); выборочной проверки выбранных модулей; организации помощи ручному тестированию.
Контакты Спасибо за внимание! Copyright © 2011 SoftServe, Inc. Прищенко Константин [email_address]

More Related Content

PDF
Отладка веб-приложений на Javascript
PPTX
Jmeter
PPTX
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
PDF
Python и Django – платформа для фрилансера
PDF
Дополнительные приёмы работы в DOM
PPT
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
PPTX
Поиск багов в поиске
PPTX
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Отладка веб-приложений на Javascript
Jmeter
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
Python и Django – платформа для фрилансера
Дополнительные приёмы работы в DOM
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Поиск багов в поиске
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...

What's hot (20)

PPTX
автоматизация тестирования с помощью Selenium
PPTX
Расширяемая платформа для создания и управления автоматизированными тестами н...
PPTX
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
PPT
Использование Symfony
PPTX
Seamy side of autotests
PDF
Автоматизация функционального тестирования REST API
PPTX
Speeding up UI tests, profiling of UI tests
PPT
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
PPT
Open Source Testing Framework: real project example and best practices
PPT
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
PPTX
Полный цикл разработки на Python + Django
PDF
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
PPTX
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
PPTX
автоматизация тестирования с помощью Selenium
PPTX
технический seo аудит
PDF
Использовании TypeScript для Node.js
PPT
6 лекция. тестирование производительности
PPTX
Автоматизация тестирования многопоточности
PPTX
Django: инструкция по применению
автоматизация тестирования с помощью Selenium
Расширяемая платформа для создания и управления автоматизированными тестами н...
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
Использование Symfony
Seamy side of autotests
Автоматизация функционального тестирования REST API
Speeding up UI tests, profiling of UI tests
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
Open Source Testing Framework: real project example and best practices
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Полный цикл разработки на Python + Django
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
автоматизация тестирования с помощью Selenium
технический seo аудит
Использовании TypeScript для Node.js
6 лекция. тестирование производительности
Автоматизация тестирования многопоточности
Django: инструкция по применению
Ad

Similar to Selenium RC + python: история одного проекта (20)

PPTX
Python Meetup
PPT
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...
PPT
Trening modul2-webinar11
KEY
Testing RIA with Selenium
PDF
лек13 3
PDF
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
PDF
Виталий Каторгин, Wamba
PPTX
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
PDF
Глава 2: Среда разработки NetBeans
PDF
django cheBit'11
 
PDF
The Old New ASP.NET
KEY
Flex 4 gumbo framework
PDF
Как мы делаем модули PHP в Badoo – Антон Довгаль
PDF
Лекция #6. Введение в Django web-framework
PDF
Илья Шаляпин, Евгений Генералов: Разработка через тестирование в Python и Djn...
PDF
Разработка через тестирование в Python и Django #pyconru
PDF
Pycon Russia 2013 - Разработка через тестирование в Python и Django
PPTX
Microsoft Visual Studio 2010
PPTX
Meeting #4. Frameworks.
PDF
Zend Framework и мультиязычность
Python Meetup
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...
Trening modul2-webinar11
Testing RIA with Selenium
лек13 3
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Виталий Каторгин, Wamba
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Глава 2: Среда разработки NetBeans
django cheBit'11
 
The Old New ASP.NET
Flex 4 gumbo framework
Как мы делаем модули PHP в Badoo – Антон Довгаль
Лекция #6. Введение в Django web-framework
Илья Шаляпин, Евгений Генералов: Разработка через тестирование в Python и Djn...
Разработка через тестирование в Python и Django #pyconru
Pycon Russia 2013 - Разработка через тестирование в Python и Django
Microsoft Visual Studio 2010
Meeting #4. Frameworks.
Zend Framework и мультиязычность
Ad

Selenium RC + python: история одного проекта