Презентация на тему Selenium RC и Python: История одного проекта

Презентация на тему Selenium RC и Python: История одного проекта, предмет презентации: Образование. Этот материал содержит 39 слайдов. Красочные слайды и илюстрации помогут Вам заинтересовать свою аудиторию. Для просмотра воспользуйтесь проигрывателем, если материал оказался полезным для Вас - поделитесь им с друзьями с помощью социальных кнопок и добавьте наш сайт презентаций ThePresentation.ru в закладки!

Слайды и текст этой презентации

Слайд 1
Текст слайда:


Константин Прищенко

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


Слайд 2
Текст слайда:

Содержание

Введение
Selenium IDE
Использование mapping-файла
PageObject model
Modified PageObject model
Введение в py.test
Заключение


Слайд 3
Текст слайда:

Введение


Слайд 4
Текст слайда:

Введение

Server:
OS Ubuntu Linux

Workstation:
OS Windows XP/7

Workstation:
Mac OS X




Слайд 5
Текст слайда:

Selenium IDE


Слайд 6
Текст слайда:

Selenium IDE



Слайд 7
Текст слайда:

Selenium IDE


Слайд 8
Текст слайда:

Selenium IDE


Преимущества:
Простота написания тестов с использованием такого метода

Недостатки:
Очень много повторяющегося кода.
Локаторы объектов хранятся в тесте.


Слайд 9
Текст слайда:

Внешний файл для хранения локаторов


Слайд 10
Текст слайда:

Использование mapping-файла

Для обеспечения лучшего контроля вынесем объявление всех локаторов в отдельное хранилище.

Это может быть xml-файл:


Слайд 11
Текст слайда:

Использование mapping-файла

Это может быть cfg/ini-файл:





Был выбран для использования cfg-файл из-за простоты реализации и поддержки.


Слайд 12
Текст слайда:

Использование mapping-файла



Пример кода для работы с cfg-файлом:








В итоге мы получаем возможность получать локатор:


Слайд 13
Текст слайда:

Использование mapping-файла




Слайд 14
Текст слайда:

Использование mapping-файла





Преимущества данного подхода:

Если локатор меняется – его необходимо обновить только в одном месте;
Повышается читабельность кода – имена локаторов позволяют понять логику теста;



Слайд 15
Текст слайда:

Использование Page Object модели


Слайд 16
Текст слайда:











PageObject модель





Модель сайта:



MainPage

Sign in


Open ent.page

EntertainmentPage

Open music view

MusicPage

Sort by

Music style

Show only


Слайд 17
Текст слайда:

PageObject модель



Для данной модели необходимо использовать mapping-файл с отдельной секцией для каждой страницы.


Слайд 18
Текст слайда:

PageObject модель



Пример класса для базовой страницы:

Создание объекта:


Слайд 19
Текст слайда:

PageObject модель



Пример класса для базовой страницы:
Нажатие на кнопку/ссылку:


Слайд 20
Текст слайда:

PageObject модель



Пример класса для страницы:


Слайд 21
Текст слайда:

PageObject модель




Слайд 22
Текст слайда:

PageObject модель




Данный подход позволяет:

Улучшить структуру тестов;
Уменьшить повторяемость кода;
Увеличить читабельность кода;
Упрощается поддержка тестов в случае изменения тестируемого приложения.


Слайд 23
Текст слайда:

Использование модифицированной Page Object модели


Слайд 24
Текст слайда:

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


Слайд 25
Текст слайда:

Modified PageObject модель




Выделим следующий элемент в логической структуре PageObject модели — объект элемента страницы, что обеспечит:

Улучшенную структуру объектов страниц;
Уменьшит повторяемость кода;
Уменьшит время на ознакомление с общей моделью.


Слайд 26
Текст слайда:

Modified PageObject модель



Данный подход позволит поместить необходимые проверки во внутрь методов элементов:


Слайд 27
Текст слайда:

Modified PageObject модель



Данный подход не изменяет внешнего вида теста.


Слайд 28
Текст слайда:

Modified PageObject модель





С помощью данного подхода упрощается работа с о специфическими элементами различных библиотек.

Например JSON ComboBox-элемент: поле для ввода, кнопка и div-секции со всеми возможными элементами.



Слайд 29
Текст слайда:

Modified PageObject модель




Слайд 30
Текст слайда:

Введение в py.test


Слайд 31
Текст слайда:

Введение в py.test





Система разработана Holger Krekel-ом.
Инсталляция:

easy_install pytest
pip install pytest

Запуск через командную строку:
py.test


Слайд 32
Текст слайда:

Введение в py.test




Стандартные операции ввода/вывода показываются только в случае ошибки

Автоматическое распознование тестов:
ищутся все файлы test_*.py
внутри файлов ищутся все функции test_* и все Test классы.


Слайд 33
Текст слайда:

Введение в py.test



Для верификации значений в тесте используется assert:


Слайд 34
Текст слайда:

Введение в py.test




Можно пропустить тест:


Можно пропустить тест при условии:


Можно пометить тест как негативный:


Можно пометить тест своей собственной меткой:


Слайд 35
Текст слайда:

Введение в py.test




Слайд 36
Текст слайда:

Заключение


Слайд 37
Текст слайда:

Заключение




Слайд 38
Текст слайда:

Заключение




По-моему мнению, связка Selenium RC + py.test с использованием PageObject модели для автоматического тестирования является наиболее оптимальной.

Построенный фреймворк позволил использовать тесты для:
проверки новой версии приложения (BVT);
полной проверки приложения (full regression);
выборочной проверки выбранных модулей;
организации помощи ручному тестированию.


Слайд 39
Текст слайда:

Спасибо за внимание!


Copyright © 2011 SoftServe, Inc.

Контакты

Прищенко Константин

kprish@softserveinc.com


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика