python test-automation

28
Введение в автоматизацию тестирования на питоне Andrey Stakhievich | [email protected]

Upload: comaqaby

Post on 15-Apr-2017

966 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Python test-automation

Введение в автоматизацию тестирования на питоне

Andrey Stakhievich | [email protected]

Page 2: Python test-automation

Немного о себе

Андрей СтахиевичКомпания DPI [email protected]• QA Automation tech lead

• Консультант

• Тренер по автоматизации тестирования

Page 3: Python test-automation

3

О чем речь?

• Особенности питона как языка программирования

• Изучаем основы программирования на питоне

• Тестируем с pytest

• Автоматизируем с Selenium Webdriver

Page 4: Python test-automation

4

динамическая типизация

автоматическое управление

памятью

полная интроспекция

обработка исключений

многопоточные вычисления

высокоуровневые структуры данных

Что такое питон?

Page 5: Python test-automation

5

Интерпретируемый

Интерактивный

Объектно-ориентированный

Портируемый

Расширяемый

Какой питон?

Page 6: Python test-automation

6

• Красивое лучше, чем уродливое.

• Явное лучше, чем неявное.

• Простое лучше, чем сложное.

• Сложное лучше, чем запутанное.

• Плоское лучше, чем вложенное.

• Разреженное лучше, чем плотное.

• Читаемость имеет значение.

• Особые случаи не настолько особые, чтобы нарушать правила.

• При этом практичность важнее безупречности.

• Ошибки никогда не должны замалчиваться.

• Если не замалчиваются явно.

• Встретив двусмысленность, отбрось искушение угадать.

• Должен существовать один — и, желательно, только один — очевидный способ сделать это.

• Хотя он поначалу может быть и не очевиден, если вы не голландец.

• Сейчас лучше, чем никогда.

• Хотя никогда зачастую лучше, чем прямо сейчас.

• Если реализацию сложно объяснить — идея плоха.

• Если реализацию легко объяснить — идея, возможно, хороша.

• Пространства имён — отличная штука! Будем делать их побольше!

Дзен Питона

Page 7: Python test-automation

7

Для чего питон?

Data Science GUI programming

System scripting, devops

Mobile, Web development

Task automation,

data scrapping

Page 8: Python test-automation

8

Почему питон?

• Низкий уровень вхождения

• Мощный базовый функционал

• Быстрое прототипирование

• Поддержка различных парадигм

программирования

• Наличие огромного количества

библиотек для всего

• Кроссплатформенность

• It’s just fun

Page 9: Python test-automation

• 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

10

Learning time

Page 11: Python test-automation

11

Книги

• “Программирование для детей. Иллюстрированное руководство по языкам Scratch и Python”

Page 12: Python test-automation

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

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

14

Grow your own python

Page 15: Python test-automation

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

16

Интерактивный Python

Набрать в командной строке

Писать код интерактивно

Page 17: Python test-automation

17

Неинтерактивный Python

Запустить в командной строке

PyCharm

УстановитьSubime Text

Atom

Написать

Page 18: Python test-automation

18

Test it

Page 19: Python test-automation

19

Pytest установка

Набрать в командной строке

Проверить

Page 20: Python test-automation

20

http://doc.pytest.org/en/latest/

Pytest

• Легок в изучении и использовании

• Большой набор фунцкионала для тестирования

• Расширяемый

Page 21: Python test-automation

21

PyTest примеры

pytest test_module.py

Page 22: Python test-automation

22

Drive the browser

Page 23: Python test-automation

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

24

Selenium. Установка и настройка

Набрать в командной строке

Скачать и распаковать нужный драйверhttp://www.seleniumhq.org/download/

1.

2.

3. Добавить в PATH путь к распакованному драйверу

Page 25: Python test-automation

Selenium. Простой тест

25

Page 26: Python test-automation

Selenium. Еще тест

26

Page 27: Python test-automation

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

Page 28: Python test-automation

Andrey Stakhievich

[email protected]

Thanks

Questions