Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Learn to build an API testing framework in Python

NotificationsYou must be signed in to change notification settings

j19sch/building-an-api-testing-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Disclaimer:This app is intended as a practice app for a testing workshop, so I took some shortcuts. ;-)

Setup & installation

If you run into any issues with the steps below, please let me know atj19sch@gmail.com.

Python and VirtualEnv

  • Install Python 3.6 or higher
  • Install virtualenv. Virtualenv allows you to create an isolated Python environment, with full control over which Python version to use and which Python packages to install.
    • If you have only Python 3 installed:pip install --user virtualenv.
    • If you have Python 2 and Python 3 installed (likely if you use mac or linux), runpip3 install --user virtualenv instead.
    • If you need to figure out what you have installed, you can runpython --version and/orpython3 --version from the command line.

Download this repo

  • Download this repository by clicking the greenCode button at the top (make sure you update tothe latest version right before the workshop) and unzip it. Or if you're familiar with git, fork this repository.

Create and activate a Python virtual environment

We will be using this virtual environment both for running the test app, and for running the code yourwrite during the exercises.

  • Open a terminal and go into the directory containing the repository files. Important: all commands in this README assume you are in this directory.
  • Create a virtual python environment
    • Note that this will create the virtual environment in the current directory, so double-check you are in the directorycontaining the files from the repository.
    • If you have only Python 3 installed:python -m virtualenv venv.
    • If you have both Python 2.7 and Python 3 installed:python3 -m virtualenv -p python3 venv.
  • Activate the virtualenv (linux, mac:source venv/bin/activate) or (win:venv\Scripts\activate)
    • Note that once the virtual environment is active,python andpip will be the Python 3 versions, since that is how we set up the virtual environment.So for the rest of the instructions it doesn't matter if you also have Python 2 installed, since we run everything in our virtual Python 3 environment.
  • Once you're done with the virtual environment (i.e. no longer want to play around with the code and the exercises), typedeactivateto deactivate it. Or close the terminal in which the virtual environment runs.

Install the required libraries

Important: perform the steps below with your virtual environment activated.

  • Open therequirements.txt and uncomment either thegunicorn orwaitress line depending on your OS
  • Install requirements.txt (pip install -r requirements.txt)

Running the app

Important: perform the steps below with your virtual environment activated.

  • linux, mac:gunicorn api_app.src.app or win:waitress-serve --port=8000 api_app.src.app:app
  • smoke test by using your browser to go tolocalhost:8000/knockknock
  • the easiest way to restart the app is to kill the process (ctrl/cmd+c) and start it again

Docker

If you have Docker installed, you can also run the app in a Docker container:

  • build:docker build -f api_app/Dockerfile -t api-app .
  • run:docker run -p 80:80 api-app
  • smoke test by using your browser to go tolocalhost:80/knockknock

Advanced text editor

Exercises (./exercises)

See./exercises/README.md for more information about the exercises.

Reference materials

Extras (./extras)

This directory contains:

  • next steps to extend the framework
  • the same test implemented using different tools, e.g. behave and tavern
  • a README.md with further details

Further reading

More Pytest

More Python

Acknowledgements

About

Learn to build an API testing framework in Python

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp