TTPS4832: Test Automation with Python
About this Course
The pytest framework is simple to use but powerful enough to cover complex testing integration scenarios. PyTest is considered by many to be the true Pythonic approach to testing in Python.
This course provides students with the skills required to get started with pytest right away, and get the most out of it in their daily workflow, exploring powerful mechanisms and plugins to facilitate many common testing tasks. Students will also learn how to use pytest in existing unittest-based test suites and will learn some tricks to make the jump to a pytest-style test suite quickly and easily.
Audience Profile
This in an introductory-level course geared for QA, Test team members and others who want to use the Python testing framework PyTest to implement code testing strategies.
At Course Completion
This skills-focused course is approximately 50% hands-on, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises. Working within in a hands-on learning environment students will learn to:
· Become proficient with pytest from day one by solving real-world testing problems
· Use pytest to write tests more efficiently
· Scale from simple to complex and functional testing
· Write and run simple and complex tests
· Organize tests in fles and directories
· Find out how to be more productive on the command line
· Markers and how to skip, xfail and parametrize tests
· Explore fxtures and techniques to use them effectively, such as tmpdir, pytestconfg, and monkeypatch
· Convert unittest suites to pytest using little-known techniques
Outline
1. Python Refresher
· Python Overview
· Python Basics
· Python Lab
2. Introducing PyTest
· Why Spend time writing test
· UnitTest Module
· Why PyTest?
· Introductory Lab
3. Writing and Running Test
· Installing PyTest
· Writing and Running Tests
· Organizing files and packages
· Command Line options
· Configure pytest.ini
· Install and Config Lab
4. Markers and Parameters
· Mark Basics
· Built-in marks
· Parameterization
· Markers and Parameters Lab
5. Fixtures
· Introduction to Fixtures
· Sharing fixtures with conftest.py files
· Scopes
· Autouse
· Parameterizing fixtures
· Using marks from fixtures
· Built-in fixtures
· Best Practices
· Fixtures Lab
· Fixtures Lab 2
6. Plugins
· Finding and installing plugins
· Overview of plugins
· Plugin Lab
7. From UnitTest to PyTest
· Use PyTest as a Test Runner
· Convert asserts with unitest2pytest
· Handling setup/teardown
· Managing test hierarchies
· Refactoring test utilities
· Migration strategies
Prerequisites
Attendees should have prior basic Python scripting experience. Students should have some familiarity with tools to be used in this course: PyCharm, Jupyter Notebook and basic GIT.