Similar presentations:
Презентация_2. PyTest
1.
ОНЛАЙН-ОБРАЗОВАНИЕ2.
Меня хорошослышно && видно?
Напишите в чат, если есть проблемы!
Ставьте + если все хорошо
3.
Не забыть включить запись!3
4.
Введение в pytestPython QA Engineer
5.
Михаил ЧирковQA Automation Engineer в ivi.ru (Web, Android)
6.
Правила вебинараБуду делать паузы между блоками для
просмотра вопросов.
Чтобы выделить свой вопрос в чате пишите
так “Вопрос: <текст вопроса>”
Off-topic или то что не успеем обсуждаем в
Slack #канал группы или #general
7.
Цели вебинараПосле занятия вы будете:
Знать основные особенности фреймворка pytest
Уметь добавлять в проект и запускать тесты pytest
Знать что такое фикстуры и уметь их использовать
Познакомитесь со структурами данных в python
8.
01Фреймворк pytest
9.
Небольшая разминка!1. Тестовый фреймворк это:
1) Это деталь от трактора "Беларусь"
2) Это когда не нужно ничего делать, и всё при этом работает
3) Всё тестовое окружение проекта
4) Совокупность методик, подходов и инструментов для
написания тестов
9
10.
Небольшая разминка!1. Тестовый фреймворк это:
1) Это деталь от трактора "Беларусь"
2) Это когда не нужно ничего делать, и всё при этом работает
3) Всё тестовое окружение проекта
4) Совокупность методик, подходов и инструментов для
написания тестов
2. Можно ли писать автотесты без тестового фреймворка?:
1) Нет, это невозможно
2) Да, можно
10
11.
Почему pytest• Многоцелевой и функциональный
11
12.
Почему pytest +• Многоцелевой и функциональный
• Возможность писать и устанавливать плагины
12
13.
Почему pytest +• Многоцелевой и функциональный
• Возможность писать и устанавливать плагины
• Можно использовать с тестами unittest/nose
13
14.
Почему pytest +• Многоцелевой и функциональный
• Возможность писать и устанавливать плагины
• Можно использовать с тестами unittest/nose
• Простой в использовании assert vs. self.assertEqual()
14
15.
pytest +• Многоцелевой и функциональный
• Возможность писать и устанавливать плагины
• Можно использовать с тестами unittest/nose
• Простой в использовании assert vs. self.assertEqual()
• Отличная документация, комьюнити
15
16.
pytest -• Является внешней зависимостью
16
17.
ВопросыДополнительные материалы:
https://www.slant.co/versus/9148/9149/~unittest_vs_pytest
https://dzone.com/articles/top-5-python-frameworks-for-test-auto
mation-in-201
https://wiki.python.org/moin/PythonTestingToolsTaxonomy
18.
02Установка и
первый тест
19.
Демонстрация• Python 3.5+
• PyCharm CE
19
20.
Демонстрация1)
2)
3)
4)
5)
6)
Создаем virtualenv!
Обновляем pip: pip install -U pip
В проекте создаем файл requirements.txt
Прописываем нужную версию
>> pytest==4.6.0 (Любая нужная версия)
Устанавливаем pip install -r requirements.txt
Проверяем установку командой pytest
20
21.
ВопросыДополнительные материалы:
https://python-scripts.com/virtualenv
22.
03Основы pytest
(репозиторий)
23.
Демонстрацияhttps://github.com/kon ic/python_qa_pytest
23
24.
Демонстрация1)
2)
3)
4)
5)
6)
7)
8)
9)
Создаем файлы и функции с префиксом test
Создаем классы с префиксом Test
Флаг -v / -q управления подробностью вывода
Флаг -s позволяет отображать print’ы
Отдельный файл, метод, класс передаем его команде
pytest
-x / --maxfail=n Остановить тесты после 1-го или n-го падения
--collect-only Собрать информацию о тестах
--lf запустить только последние упавшие
Посмотреть все другие параметры -h
24
25.
PyCharm• Работа с виртуальными окружениями
• Управление зависимостями и версиями
• Предустановка запуска тестов,
• Test runner для pytest
25
26.
ВопросыДополнительные материалы:
https://docs.pytest.org/en/latest/getting-started.html#
27.
04xtures
(фикстуры)
28.
Фикстуры (репозиторий)• Начало работы с фикстурами
• Поиск фикстур тестами
• Scope и Autouse фикстур
• Объект request, передача фикстур в фикстуры
• Возвращение значений фикстурами
• Параметризация фикстур, тестов
• Структуры данных
28
29.
Демонстрацияhttps://github.com/kon ic/python_qa_pytest
29
30.
ВопросыДополнительные материалы:
https://pybit.es/pytest- xtures.html
https://docs.pytest.org/en/latest/ xture.html
https://www.codementor.io/sheena/advanced-use-python-decorato
rs-class-function-du107nxsv
31.
Цели вебинараУзнали основные особенности фреймворка pytest
Умеем добавлять в проект и запускать тесты pytest
Узнали что такое фикстуры и уметь их использовать
Познакомились со структурами данных в python
32.
На закреплениеhttps://forms.gle/WjMP7m12ncnrRmsw6
32
33.
Опрос о занятиив личном кабинете
34.
Спасибоза внимание!