Out-of-the-box WebDriver API provides two main classes: WebDriver and WebElement. Webium library helps you to extend it to whatever deep UI object structure you need. You can describe basic elements (e.g. Button, Input), construct complex elements (e.g. Calendar) from small pieces and at the end put it all together into your Page Objects. Webium is free and open-source. In my speech I’ll present your how to use it effectively if you want to write Selenium tests in Python.
автоматизация Flex приложений с помощью selenium rc
Webium: Page Objects in Python
1. Webium: Page Object в Python
Игорь Хрол
QA Automation Team Lead
Wargaming.NET
2. О себе
• Игорь Хрол
• QA Automation Team Lead в
Wargaming.NET
• 9 лет в отрасли
• Инженер, архитектор,
менеджер, консультант, тренер
• Постоянный участник
SeleniumCamp
• www.khroliz.com
3. Предыстория вопроса
• Не нашлось нужных решений в Python
• Навеяно HtmlElements
(http://htmlelements.qatools.ru/)
4. Хотелки
• Расширение WebElement’a, а не создание
своей «обёртки»
• Поддержка поиска одного и многих
(find_element и find_elements)
• Вложенный поиск какой угодно глубины
• Ленивая инициализация
21. is_element_present
• Типовое действие при написании
автотестов
• Каждый делает свой велосипед
• Не так просто сделать корректно
http://seleniumcamp.com/archive/selenium-
camp-2013/materials/mistakes-of-beginners/
23. is_element_present
• Метод есть у BasePage и у любого
контейнера
• Параметры:
– element_name – имя элемента
– just_in_dom – можно проверять только
наличие в DOM’e
– timeout – ждать True на протяжении
таймаута
25. Динамические страницы
• Добавление элементов в страницу «на
лету»
• Страница определена во время
выполнения
• Явное задание контекста поиска
– параметр context в Find