Similar presentations:
Основы автоматизации (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 && SeleniumWebDriver?
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 — Реализует тесты, описанные бизнес-логикой тест-кейса.