hitomidennis / automating-tests-in-python

A collection of jupyter notebooks that contains test automation tutorials in python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Automating Tests in Python

About

This is a collection of jupyter notebooks that have code snippets about how to automate different kinds of tests in python.

The current version of the collection uses the following tools:

  • unittest - if you want to stay low-level
  • pytest - an awesome test framework that can be used in many different kinds of testing.
  • pytest-bdd - for writing tests in pytest when your team uses the Behavior-Driven Development methodology
  • pytest-splinter - for writing automated UI tests in pytest
  • Faker - for generating mock data
  • locust - A load testing framework
  • Splinter - to automate web browser actions
  • json-server - for creating a mock RESTFul API server.

Requirements

  • You need to have at least Python 3.7 and node.js v12.18.2 installed
  • It is ideal to run this on a virtual environment. I used venv for this.

Installation

  • Clone this repo: git clone https://github.com/adelagon/automating-tests-in-python.git
  • Go the project root: cd automation-test-in-python
  • Install json-server with: npm install -g json-server
  • Run the json-server in the background in order to run the sample tests: json-server --watch db.json and open a new terminal session.
  • Create a virtual environment: python -m venv .env
  • Activate virtual environment: source .env/bin/activate
  • Install all dependencies: pip install -r requirements.txt
  • Run the jupyter notebook: jupyter notebook. This should open your web browser and navigate to the *.ipynb files to open the tutorials.
  • Alternatively, you can use Microsoft VSCode to open the *.ipynb files

Notes

Please feel free to reach out to me at me@adelagon.com for any additions/corrections.

About

A collection of jupyter notebooks that contains test automation tutorials in python


Languages

Language:Jupyter Notebook 84.4%Language:Python 12.8%Language:Gherkin 2.4%Language:JavaScript 0.4%