2. Немного о себе
Андрей Стахиевич
Компания DPI Solutions
stakhievich@dpi.solutions
• QA Automation tech lead
• Консультант
• Тренер по автоматизации тестирования
3. 3
О чем речь?
• Особенности питона как языка программирования
• Изучаем основы программирования на питоне
• Тестируем с pytest
• Автоматизируем с Selenium Webdriver
6. • Красивое лучше, чем уродливое.
• Явное лучше, чем неявное.
• Простое лучше, чем сложное.
• Сложное лучше, чем запутанное.
• Плоское лучше, чем вложенное.
• Разреженное лучше, чем плотное.
• Читаемость имеет значение.
• Особые случаи не настолько особые,
чтобы нарушать правила.
• При этом практичность важнее
безупречности.
• Ошибки никогда не должны
замалчиваться.
• Если не замалчиваются явно.
• Встретив двусмысленность, отбрось
искушение угадать.
• Должен существовать один — и,
желательно, только один — очевидный
способ сделать это.
• Хотя он поначалу может быть и не
очевиден, если вы не голландец.
• Сейчас лучше, чем никогда.
• Хотя никогда зачастую лучше,
чем прямо сейчас.
• Если реализацию сложно объяснить —
идея плоха.
• Если реализацию легко объяснить —
идея, возможно, хороша.
• Пространства имён — отличная штука!
Будем делать их побольше!
6
Дзен Питона
7. 7
Для чего питон?
Data Science
GUI
programming
System
scripting,
devops
Mobile, Web
development
Task
automation,
data scrapping
8. 8
Почему питон?
• Низкий уровень вхождения
• Мощный базовый функционал
• Быстрое прототипирование
• Поддержка различных парадигм
программирования
• Наличие огромного количества
библиотек для всего
• Кроссплатформенность
• It’s just fun
9. • Python 1.5 - 31 декабря 1997 года
• Python 1.6 - 5 сентября 2000 года
Python 1.0
январь 1994 года
• Python 2.7.12 - текущая
Python 2.0
16 октября 2000 года
• Python 3.5.2 – текущая
Python 3.0
3 декабря 2008 года
9
Версии
12. 12
Книги
• Mark Lutz “Learning python”
• Mark Lutz “Programming Python”
• Mark Lutz “Python pocket reference”
• Michael Dawson “Python programming for
the absolute beginner”
• Jonathan S. Harbour “More python
programming for the absolute beginner”
23. Selenium источники
23
• Selenium Official Website:
http://www.seleniumhq.org/
• Selenium Client Documentation Website:
http://selenium-python.readthedocs.io/
• На русском:
http://selenium2.ru/
24. 24
Selenium. Установка и настройка
Набрать в командной строке
Скачать и распаковать нужный драйвер
http://www.seleniumhq.org/download/
1.
2.
3. Добавить в PATH путь к распакованному драйверу
Python был разработан, чтобы быть удобными для чтения, он использует слова, в тех местах, где другие языки используют пунктуацию. Он имеет меньше синтаксических конструкций, чем другие языки.
Python интерпретируется: Это означает, что он обрабатывается во время выполнения интерпретатором и вам не нужно компилировать программу перед ее выполнением. Это похоже на PERL и PHP.
Python является интерактивным: Это означает, что вы можете использовать интерпретатор для немедленного выполнения комманд.
Python является объектно-ориентированным: Это означает, что Python поддерживает объектно-ориентированный стиль или технику программирования, который инкапсулирует код внутри объектов.
Все это позволяет стать Python языком начинающих! Одновременно с этим он поддерживает выполнение широкого спектра задач - от простой обработки текста в веб-браузере, до игр.
Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.
Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
Python был разработан, чтобы быть удобными для чтения, он использует слова, в тех местах, где другие языки используют пунктуацию. Он имеет меньше синтаксических конструкций, чем другие языки.
Python интерпретируется: Это означает, что он обрабатывается во время выполнения интерпретатором и вам не нужно компилировать программу перед ее выполнением. Это похоже на PERL и PHP.
Python является интерактивным: Это означает, что вы можете использовать интерпретатор для немедленного выполнения комманд.
Python является объектно-ориентированным: Это означает, что Python поддерживает объектно-ориентированный стиль или технику программирования, который инкапсулирует код внутри объектов.
Все это позволяет стать Python языком начинающих! Одновременно с этим он поддерживает выполнение широкого спектра задач - от простой обработки текста в веб-браузере, до игр.
Разработчики языка Python придерживаются определённой философии программирования, называемой «The Zen of Python» («Дзен Питона», или «Дзен Пайтона»). Её текст выдаётся интерпретатором Питона по команде import this (работает один раз за сессию)
Гвидо ван Россум (Хотя он поначалу может быть и не очевиден, если вы не голландец) создатель Python
Python был разработан, чтобы быть удобными для чтения, он использует слова, в тех местах, где другие языки используют пунктуацию. Он имеет меньше синтаксических конструкций, чем другие языки.
Python интерпретируется: Это означает, что он обрабатывается во время выполнения интерпретатором и вам не нужно компилировать программу перед ее выполнением. Это похоже на PERL и PHP.
Python является интерактивным: Это означает, что вы можете использовать интерпретатор для немедленного выполнения комманд.
Python является объектно-ориентированным: Это означает, что Python поддерживает объектно-ориентированный стиль или технику программирования, который инкапсулирует код внутри объектов.
Все это позволяет стать Python языком начинающих! Одновременно с этим он поддерживает выполнение широкого спектра задач - от простой обработки текста в веб-браузере, до игр.
Python был разработан, чтобы быть удобными для чтения, он использует слова, в тех местах, где другие языки используют пунктуацию. Он имеет меньше синтаксических конструкций, чем другие языки.
Python интерпретируется: Это означает, что он обрабатывается во время выполнения интерпретатором и вам не нужно компилировать программу перед ее выполнением. Это похоже на PERL и PHP.
Python является интерактивным: Это означает, что вы можете использовать интерпретатор для немедленного выполнения комманд.
Python является объектно-ориентированным: Это означает, что Python поддерживает объектно-ориентированный стиль или технику программирования, который инкапсулирует код внутри объектов.
Все это позволяет стать Python языком начинающих! Одновременно с этим он поддерживает выполнение широкого спектра задач - от простой обработки текста в веб-браузере, до игр.
Версия 1.0
Python 1.0 появился в 1994 году. Основными функциями в нём были средства функционального программирования: лямбда-исчисление, карты, фильтры и свёртка списка. Последней версией, выпущенной Ван Россумом во время работы в центре математики и информатики был Python 1.2. С 1995 года Ван Россум продолжил работу над Python-ом в корпорации национальных исследовательских инициатив (CNRI) в городе Рестон, штат Вирджиния, где было выпущено несколько версий языка. Python 1.4 включал в себя множество новых функций, среди которых встроенная поддержка комплексных чисел.
Версия 2.0
В версии Python 2.0 появилась поддержка списков - функция, заимствованная из функциональных языков программирования SETL и Haskell. Также был введён сборщик мусора. Python 2.1 очень похож на Python 1.6.1 и Python 2.0. Лицензия, начиная с этой версии, была переименована в Python Software Foundation License. Начиная с Python 2.1 весь код и техническая документация принадлежит некоммерческой организации Python Software Foundation, созданной в 2001 году. В Python 2.2 главным введением было объединение базовых классов и классов, создаваемых пользователем, в одной иерархии. Это сделало Python полностью объектно-ориентированным языком.
Версия 1.0
Python 1.0 появился в 1994 году. Основными функциями в нём были средства функционального программирования: лямбда-исчисление, карты, фильтры и свёртка списка. Последней версией, выпущенной Ван Россумом во время работы в центре математики и информатики был Python 1.2. С 1995 года Ван Россум продолжил работу над Python-ом в корпорации национальных исследовательских инициатив (CNRI) в городе Рестон, штат Вирджиния, где было выпущено несколько версий языка. Python 1.4 включал в себя множество новых функций, среди которых встроенная поддержка комплексных чисел.
Версия 2.0
В версии Python 2.0 появилась поддержка списков - функция, заимствованная из функциональных языков программирования SETL и Haskell. Также был введён сборщик мусора. Python 2.1 очень похож на Python 1.6.1 и Python 2.0. Лицензия, начиная с этой версии, была переименована в Python Software Foundation License. Начиная с Python 2.1 весь код и техническая документация принадлежит некоммерческой организации Python Software Foundation, созданной в 2001 году. В Python 2.2 главным введением было объединение базовых классов и классов, создаваемых пользователем, в одной иерархии. Это сделало Python полностью объектно-ориентированным языком.
Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.
Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.
Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.
Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.
Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.
Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.
Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
Python высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.
Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).