Timeline for my test automation journey

OOP with Python

OOP with Python

2021

Covered the basics of python programming language, stuff like syntax, internal libraries, keywordsm, functions, loops, return statements and classes just to name a few

Resources: Programming with Python | Python for Beginners

tags: python, oop
Source Control Management with git

Source Control Management with git

2021

Covered the basics git such as staging, committing, pull requests, branching, forking, commands etc and working with some git as a service providers such as bitbucket and github

Resources: A tutorial introduction to Git

tags: git, github, bitbucket, scm
Pytest (Python testing framework)

Pytest (Python testing framework)

2021

Covered the basics to writing tests usiing pytest, due to its large community and open source nature there's numerous plugins for pytest to help in stuff like reportin, writing gherkin...key important functionality that will ease code reusability and reduce duplication and complicated logic is the use of fixtures and fixture scopes

Resources: Pytest documentation

tags: python, oop, pytest, testing, fixtures, gherkin, bdd, integration tests, functional tests, smoke tests
Containerization (Docker)

Containerization (Docker)

2022

Started by looking into virtualization technology and why the need for hypervisors, the drawbacks and introduction of Containerization, the benefits, then the architecture of docker, key terms like images, containers, Dockerfiles and how to interact with these objects via docker cli

Resources: What is Containerization?

tags: docker, containerization, Dockerfile, docker-compose, docker images, docker containers
Jenkins (Continuous Integration, Delivery and automation tool)

Jenkins (Continuous Integration, Delivery and automation tool)

2022

Started by looking into using jenkins to automate given workflows by using jenkins jobs defined in groovy scripts. Due to it's open source nature and wide community jenkins suppports tons and tons of other technology in form of plugins such as docker containers, integration with instant messaging platforms, integration with LDAP...

Resources: What are jenkins jobs?

tags: jenkins, ci, cd, java, groovy
UI testing with Selenium

UI testing with Selenium

2022

Started with basic overview of tech behind selenium, it's functionality, it's support for multiple browsers, programming languages... and use cases in automating browser interactions (web scraping), writing e2e tests for web applications...

Resources: Selenium Python tutorial

tags: selenium, gui testing, web scraping, python, browser, webdriver
UI testing with Playwright

UI testing with Playwright

2023

Selenium is good and all but man Playwright is the man lol. Due to several drawbacks and effort needed to stabilize selenium scripts/tests, I looked into Playwright a tool developed by microsoft for e2e UI testing. It has inbuilt assertion methods, waits, background API call interception, supports multiple browsers and programming languages just to name a few

Resources: Playwright documentation

tags: gui testing, web scraping, python, browser, playwright, e2e tests
Flask (Python web application framework)

Flask (Python web application framework)

2023

Fun fact: this website is built on flask. Like it says in the documentation, flask is a lightweight web application framework that makes building webapps/services quick and easy

Resources: Flask documentation

tags: webapp, api, flask, jinja