Python Programming for QA Automation

  • 3 Days
  • Beginner
  • Virtual | Classroom
  • £ On Request

A complete introduction to the Python scripting language tailored towards writing QA tests and developing automated QA skills.

Book For My Team


This course provides a complete introduction to the Python scripting language tailored towards developing automated QA skills. Delegates will learn to program using all the features of Python 2 and 3 along with unit test frameworks and GUI automation with Selenium. Object-oriented and functional aspects of Python are covered in depth including best practices.

The course duration can be tailored based upon the experience of the delegates with more or less foundational Python content.

Distributed Classroom

Students should have Python 3 installed, and a development environment (PyCharm recommended).

screenshot of learning experience

Students will take this virtual training course using online tools, including Zoom video conferencing and Jetbrains Space. No paid accounts necessary, all materials will be provided.

Delegates will require a webcam and microphone to complete course. Laptop built-in mics and webcams are fine.

What to expect on the course

While we anticipate delegates from around the world, the course will be delivered during UK office hours (expected hours 9.30am to 4.30pm) in English.

The course will be divided into a number of micro-topics based off the outline below. Each topic will follow approximately the same pattern:

  • Inform - We'll tell you what you need to know about a specific technique
  • Show - You'll see a worked example completed by the instructor
  • Do - You'll get a chance to practice the technique yourself by completing an


  • Review - We'll show you a solution to the exercise


Introduction to Python

  • The evolution of Python from Shell Scripting and Perl
  • Installing Python and running / debugging simple scripts
  • Differences between Python 3 and earlier versions
  • Using the JVM and CLR based Python interpreters
  • Comparing Python to Ruby, JavaScript and PowerShell

The Basics of Python Scripting

  • Declaring and modifying variables
  • Reading and writing from the console
  • Working with the built in data types
  • Making choices and performing iteration
  • Declaring functions and passing parameters
  • Identity, equality and references
  • Reading and writing text, data and objects from files

Working With Structured Data

  • Storing individual items in sets, lists and tuples
  • Storing pairs of items in dictionaries (aka hashes)
  • Understanding how class declarations work in Python
  • Creating classes and adding attributes and operations
  • Using your own types with the built-in collections

Object Orientation in Depth

  • Creating class hierarchies in Python
  • Overriding methods from base classes
  • Adding properties to your classes
  • The intrinsic class and object attributes
  • Creating your own iterator objects and generators
  • Using decorators to address Aspects in your design
  • Guidelines for overloading operators sensibly
  • Support for meta-programming in Python

Using Python for Testing Applications

  • Test-Driven verses Behavior Driven Development
  • Understanding the features of a Unit Test Framework
  • Picking a testing framework in Python
  • Comparing doctest, unittest, py.test and Nose
  • Using Selenium to test web applications
  • CSS Selector and XPath Syntax
  • Using Behave for BDD
  • Using Robot with Selenium for BDD

Functional Programming and Advanced Python

  • Using functions as inputs to other functions
  • Creating and working with lambda functions
  • Using lamdbas with filter, map and reduce
  • Simplifying your code using list comprehensions
  • Raising and catching exceptions correctly
  • Organizing your code into modules and packages

Regular Expressions in Python

  • What is a regular expression?
  • Functions in Python that accept regular expressions
  • Creating character classes and specifying multiplicities
  • Meta-characters for specifying positions in the input
  • Understanding greedy vs. non-greedy matching
  • Using parenthesis for grouping and submatches


Delegate's experience will factor into the content and duration of the course.

Ryan Adams

Used to make software for learning as a developer, now helping software makers learn.

Follow Ryan
For a breakdown of what to expect in our training, check out our training overview page.

Great course and thoroughly enjoyed. I found the content in the course slides easy to follow & refer back to as Eamonn took us through each of the examples and exercises. Eamonn struck a really good balance in terms of delivering the training to benefit beginner level as well as more experienced Python enthusiasts. I'm looking forward to downloading all the exercise solutions and to applying the concepts I've taken away to my work at CME Group Belfast. Thanks Eamonn and Instil!

Eamonn was a fantastic trainer. Everything was explained well and thoroughly! This has been a fantastic learning for the python work starting in the new year! I'd highly recommend this course for anyone curious about python or looking to enhance their skills!

Presenter has deep understanding of subject. Able to answer all questions. Good notes, clear path through the course.

Deloitte logo
Atlassian logo
Workday logo
BMW logo
Amex logo
McAfee logo
PWC logo

Ready to take the next step?

Instructor-led training for teams. Get in contact to learn more.

Book For My Team