python test-automation
TRANSCRIPT
![Page 2: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/2.jpg)
Немного о себе
Андрей СтахиевичКомпания DPI [email protected]• QA Automation tech lead
• Консультант
• Тренер по автоматизации тестирования
![Page 3: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/3.jpg)
3
О чем речь?
• Особенности питона как языка программирования
• Изучаем основы программирования на питоне
• Тестируем с pytest
• Автоматизируем с Selenium Webdriver
![Page 4: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/4.jpg)
4
динамическая типизация
автоматическое управление
памятью
полная интроспекция
обработка исключений
многопоточные вычисления
высокоуровневые структуры данных
Что такое питон?
![Page 5: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/5.jpg)
5
Интерпретируемый
Интерактивный
Объектно-ориентированный
Портируемый
Расширяемый
Какой питон?
![Page 6: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/6.jpg)
6
• Красивое лучше, чем уродливое.
• Явное лучше, чем неявное.
• Простое лучше, чем сложное.
• Сложное лучше, чем запутанное.
• Плоское лучше, чем вложенное.
• Разреженное лучше, чем плотное.
• Читаемость имеет значение.
• Особые случаи не настолько особые, чтобы нарушать правила.
• При этом практичность важнее безупречности.
• Ошибки никогда не должны замалчиваться.
• Если не замалчиваются явно.
• Встретив двусмысленность, отбрось искушение угадать.
• Должен существовать один — и, желательно, только один — очевидный способ сделать это.
• Хотя он поначалу может быть и не очевиден, если вы не голландец.
• Сейчас лучше, чем никогда.
• Хотя никогда зачастую лучше, чем прямо сейчас.
• Если реализацию сложно объяснить — идея плоха.
• Если реализацию легко объяснить — идея, возможно, хороша.
• Пространства имён — отличная штука! Будем делать их побольше!
Дзен Питона
![Page 7: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/7.jpg)
7
Для чего питон?
Data Science GUI programming
System scripting, devops
Mobile, Web development
Task automation,
data scrapping
![Page 8: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/8.jpg)
8
Почему питон?
• Низкий уровень вхождения
• Мощный базовый функционал
• Быстрое прототипирование
• Поддержка различных парадигм
программирования
• Наличие огромного количества
библиотек для всего
• Кроссплатформенность
• It’s just fun
![Page 9: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/9.jpg)
• 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
Версии
![Page 10: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/10.jpg)
10
Learning time
![Page 11: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/11.jpg)
11
Книги
• “Программирование для детей. Иллюстрированное руководство по языкам Scratch и Python”
![Page 12: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/12.jpg)
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”
![Page 13: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/13.jpg)
13
Tutorials
• https://www.codecademy.com/learn/python
• http://www.tutorialspoint.com/python/
• https://pythonschool.net/
• http://www.learnpython.org/
• https://learnpythonthehardway.org/
![Page 14: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/14.jpg)
14
Grow your own python
![Page 15: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/15.jpg)
15
• Python Official Website: http://www.python.org/
• Python Documentation Website: www.python.org/doc/
• Package managerhttps://pypi.python.org/pypi/pip
Environment
![Page 16: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/16.jpg)
16
Интерактивный Python
Набрать в командной строке
Писать код интерактивно
![Page 17: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/17.jpg)
17
Неинтерактивный Python
Запустить в командной строке
PyCharm
УстановитьSubime Text
Atom
Написать
![Page 18: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/18.jpg)
18
Test it
![Page 19: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/19.jpg)
19
Pytest установка
Набрать в командной строке
Проверить
![Page 20: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/20.jpg)
20
http://doc.pytest.org/en/latest/
Pytest
• Легок в изучении и использовании
• Большой набор фунцкионала для тестирования
• Расширяемый
![Page 21: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/21.jpg)
21
PyTest примеры
pytest test_module.py
![Page 22: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/22.jpg)
22
Drive the browser
![Page 23: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/23.jpg)
Selenium источники
23
• Selenium Official Website: http://www.seleniumhq.org/
• Selenium Client Documentation Website: http://selenium-python.readthedocs.io/
• На русском:http://selenium2.ru/
![Page 24: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/24.jpg)
24
Selenium. Установка и настройка
Набрать в командной строке
Скачать и распаковать нужный драйверhttp://www.seleniumhq.org/download/
1.
2.
3. Добавить в PATH путь к распакованному драйверу
![Page 25: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/25.jpg)
Selenium. Простой тест
25
![Page 26: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/26.jpg)
Selenium. Еще тест
26
![Page 27: Python test-automation](https://reader035.vdocuments.site/reader035/viewer/2022062306/587633881a28ab68098b5363/html5/thumbnails/27.jpg)
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