Upload
comaqaby
View
966
Download
0
Embed Size (px)
Citation preview
Введение в автоматизацию тестирования на питоне
Andrey Stakhievich | [email protected]
Немного о себе
Андрей СтахиевичКомпания DPI [email protected]• QA Automation tech lead
• Консультант
• Тренер по автоматизации тестирования
3
О чем речь?
• Особенности питона как языка программирования
• Изучаем основы программирования на питоне
• Тестируем с pytest
• Автоматизируем с Selenium Webdriver
4
динамическая типизация
автоматическое управление
памятью
полная интроспекция
обработка исключений
многопоточные вычисления
высокоуровневые структуры данных
Что такое питон?
5
Интерпретируемый
Интерактивный
Объектно-ориентированный
Портируемый
Расширяемый
Какой питон?
6
• Красивое лучше, чем уродливое.
• Явное лучше, чем неявное.
• Простое лучше, чем сложное.
• Сложное лучше, чем запутанное.
• Плоское лучше, чем вложенное.
• Разреженное лучше, чем плотное.
• Читаемость имеет значение.
• Особые случаи не настолько особые, чтобы нарушать правила.
• При этом практичность важнее безупречности.
• Ошибки никогда не должны замалчиваться.
• Если не замалчиваются явно.
• Встретив двусмысленность, отбрось искушение угадать.
• Должен существовать один — и, желательно, только один — очевидный способ сделать это.
• Хотя он поначалу может быть и не очевиден, если вы не голландец.
• Сейчас лучше, чем никогда.
• Хотя никогда зачастую лучше, чем прямо сейчас.
• Если реализацию сложно объяснить — идея плоха.
• Если реализацию легко объяснить — идея, возможно, хороша.
• Пространства имён — отличная штука! Будем делать их побольше!
Дзен Питона
7
Для чего питон?
Data Science GUI programming
System scripting, devops
Mobile, Web development
Task automation,
data scrapping
8
Почему питон?
• Низкий уровень вхождения
• Мощный базовый функционал
• Быстрое прототипирование
• Поддержка различных парадигм
программирования
• Наличие огромного количества
библиотек для всего
• Кроссплатформенность
• It’s just fun
• 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
Версии
10
Learning time
11
Книги
• “Программирование для детей. Иллюстрированное руководство по языкам Scratch и Python”
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”
13
Tutorials
• https://www.codecademy.com/learn/python
• http://www.tutorialspoint.com/python/
• https://pythonschool.net/
• http://www.learnpython.org/
• https://learnpythonthehardway.org/
14
Grow your own python
15
• Python Official Website: http://www.python.org/
• Python Documentation Website: www.python.org/doc/
• Package managerhttps://pypi.python.org/pypi/pip
Environment
16
Интерактивный Python
Набрать в командной строке
Писать код интерактивно
17
Неинтерактивный Python
Запустить в командной строке
PyCharm
УстановитьSubime Text
Atom
Написать
18
Test it
19
Pytest установка
Набрать в командной строке
Проверить
20
http://doc.pytest.org/en/latest/
Pytest
• Легок в изучении и использовании
• Большой набор фунцкионала для тестирования
• Расширяемый
21
PyTest примеры
pytest test_module.py
22
Drive the browser
Selenium источники
23
• Selenium Official Website: http://www.seleniumhq.org/
• Selenium Client Documentation Website: http://selenium-python.readthedocs.io/
• На русском:http://selenium2.ru/
24
Selenium. Установка и настройка
Набрать в командной строке
Скачать и распаковать нужный драйверhttp://www.seleniumhq.org/download/
1.
2.
3. Добавить в PATH путь к распакованному драйверу
Selenium. Простой тест
25
Selenium. Еще тест
26
27
Послесловие
• https://github.com/atinfo/awesome-test-automation
• http://automated-testing.info/t/dajdzhest-poleznyh-ssylok-dlya-testirovshhikov-avtomatizatorov-016/3931
• pip install ipython
• pip install virtualenv + virtualenvwrapper