План урока
Инструменты для скачивания
Что такое Selenium && Selenium WebDriver?
Типы данных в Python
Легкое погружение в ООП
Инкапсуляция
Наследование
Полиморфизм
Что такое DOM-дерево?
Типы локаторов
Паттерн(шаблон) Page Object
614.71K
Category: programmingprogramming

Основы автоматизации (Python+Selenium)

1.

Основы автоматизации (Python+Selenium)

2. План урока

1) Что понадобится в плане инструментов?
2) Что такое Selenium && Selenium Webdriver?
2) Типы данных в Python
3) Легкое погружение в ООП
4) Что такое DOM-дерево?
5) Типы локаторов
6) Паттерн (шаблон) Page Object

3. Инструменты для скачивания

1) https://www.jetbrains.com/ru-ru/pycharm/download– среда разработки
2) https://www.python.org/downloads/ - python
3) https://chromedriver.chromium.org/downloads - перед скачиванием смотрите
какая у вас версия google
4) https://www.java.com/download/ie_manual.jsp - java
5) https://repo.maven.apache.org/maven2/io/qameta/allure/allurecommandline/ - allure
6) https://pypi.org/project/selenium/- Selenium WebDriver — это инструмент
для автоматизации действий веб-браузера.
Можно идти по началу этого видео: https://www.youtube.com/watch?v=aGx1MkcQp4

4. Что такое Selenium && Selenium WebDriver?

Что такое Selenium && Selenium
WebDriver?
Selenium – это проект, в рамках которого разрабатывается серия
программных продуктов с открытым исходным кодом (open source):
Selenium WebDriver,
Selenium RC,
Selenium Server,
Selenium Grid,
Selenium IDE.
Selenium WebDriver – это программная библиотека для управления
браузерами. Часто употребляется также более короткое название
WebDriver.

5.

Selenium WebDriver, или просто WebDriver – это драйвер браузера, то
есть не имеющая пользовательского интерфейса программная
библиотека, которая позволяет различным другим программам
взаимодействовать с браузером, управлять его поведением, получать
от браузера какие-то данные и заставлять браузер выполнять какие-то
команды.

6.

Наверняка каждый, кто сталкивался с компьютерами, даже не айтишник,
знает слово «драйвер». Это такая маленькая программа, точнее
программная библиотека, которая позволяет другим программам
взаимодействовать с некоторым устройством. Драйвер принтера
позволяет печатать что-нибудь на принтере. Драйвер диска позволяет
читать и писать данные. Драйвер сетевой карты позволяет обмениваться
данными с другими компьютерами по сети.

7. Типы данных в Python

8. Легкое погружение в ООП

1) Инкапсуляция
2) Наследование
3) Полиморфизм

9. Инкапсуляция

Инкапсуляция — свойство программирования, позволяющее пользователю
не задумываться о сложности реализации используемого программного
компонента (что у него внутри?), а взаимодействовать с ним посредством
предоставляемого интерфейса (публичных методов и членов), а также
объединить и защитить жизненно важные для компонента данные. При
этом пользователю предоставляется только спецификация (интерфейс)
объекта.

10. Наследование

Наследование — один из четырёх важнейших механизмов объектноориентированного программирования (наряду с инкапсуляцией,
полиморфизмом и абстракцией), позволяющий описать новый класс на
основе уже существующего (родительского), при этом свойства и
функциональность родительского класса заимствуются новым классом.

11. Полиморфизм

Полиморфи́зм — возможность объектов с одинаковой спецификацией
иметь различную реализацию.

12. Что такое DOM-дерево?

Браузер, когда запрашивает страницу и получает в ответе от сервера её
исходный HTML-код, должен сначала его разобрать. В процессе анализа и
разбора HTML-кода браузер строит на основе него DOM-дерево.
DOM – это объектная модель документа, которую браузер создаёт в
памяти компьютера на основании HTML-кода, полученного им от
сервера.

13.

14. Типы локаторов

Локатор веб-элемента – это специальный объект, способный
обнаруживать элементы по определенному запросу. Другими словами, с
помощью локаторов можно найти любой интересующий веб-элемент.
By - класс, содержащий статические методы для идентификации
элементов:
class By(object):
ID = "id"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
NAME = "name"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"

15. Паттерн(шаблон) Page Object

Это популярный паттерн, который является де-факто стандартом в автоматизации
тестирования веб-продуктов. Основная идея состоит в том, чтобы разделить логику
тестов от реализации.
Каждую веб-страницу проекта можно описать в виде объекта класса. Взаимодействие
пользователя описываются в методах класса, а в тестах остается только бизнес-логика.
Данный подход помогает избежать проблем с тестами при изменении верстки вебприложения. Вам необходимо поправить только класс, описывающий страницу.
Page Object определяет в себе части:
Base Page \ Base Class — Реализует в себе необходимые методы для работы с webdriver.
Page Object \ Page Class — Реализует методы для работы с элементами на веб-страницах.
Tests — Реализует тесты, описанные бизнес-логикой тест-кейса.
English     Русский Rules