Course Overview

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.

Geared for QA, Test team members and others who want to use the Python testing framework PyTest to implement code testing strategies, Test Automation with Python is a hands-on, two-day Python testing course that provides students with the skills required to get started with PyTest right away. Participants will learn how to 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.

Key Learning Areas

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 files and directories
  • Find out how to be more productive on the command line
  • Markers and how to skip, xfail, and parametrize tests
  • Explore fixtures and techniques to use them effectively, such as tmpdir, pytestconfg, and monkeypatch
  • Convert unittest suites to PyTest using little-known techniques

Course Outline

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most.

Python Quick Refresh

  • Python Overview
  • Python Basics
  • Python Lab

Introducing PyTest

  • Why Spend time writing test
  • UnitTest Module
  • Why PyTest?
  • Introductory Lab

Writing and Running Test

  • Installing PyTest
  • Writing and Running Tests
  • Organizing files and packages
  • Command Line options
  • Configure pytest.ini
  • Install and Config Lab

Markers and Parameters

  • Mark Basics
  • Built-in marks
  • Parameterization
  • Markers and Parameters Lab

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

Plugins

  • Finding and installing plugins
  • Overview of plugins
  • Plugin Lab

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

Who Benefits

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.

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.