Skip to main content

Lazy guy's testing tool. Capture HTTP traffic and generate python integration test for your API server.

Project description

Zerotest makes it easy to test API server, start a micro proxy, send requests, and generate test code by these behaviours.

Install

Stable version: pip install zerotest

Develop version: pip install git+https://github.com/jjyr/zerotest.git

zerotest require python2.7 or 3.3+

Quick Start

  1. Start a local proxy to capture http traffic zerotest server https://api.github.com -f octocat.data
  2. Make few requests curl -i http://localhost:7000/users/octocat
  3. Press C-c to exit local proxy
  4. Generate test code zerotest generate octocat.data --ignore-all-headers > test_octocat.py
  5. Type py.test test_octocat.py to run test

Usage

Type zerotest -h to see help message

Server

Start local proxy server

zerotest server http://target-endpoint.com [-f] [record_file.data]

Type zerotest server -h to see help message

Generate

Generate python test code from record data (the file generated by local proxy)

zerotest generate [options] > test_file.py

Ignore specific headers in comparison

Use option --ignore-headers [date server ...] or --ignore-all-headers to ignore headers comparison

Ignore specific fields

Use --fuzzy-match enable fuzzy matching mode, compare data schema instead the data itself, or you can use --ignore-fields [view_count ...] to specific ignored fields

Type zerotest generate -h to see help message

Replay

Generate test and run it with pytest

zerotest replay [generate options] [--pytest] [pytest options]

Type zerotest replay -h to see help message

Develop

Export debug flag ZEROTEST_DEBUG=true to see verbose logs during program or test running.

Contributors

Contributors

Contribute

  • Open issue if found bugs or some cool ideas
  • Feel free to ask if have any questions
  • Testing is very important for a test tool, commit your test file together with pull request

Project details


Release history Release notifications

This version
History Node

1.2.1

History Node

1.2.0

History Node

1.1.2

History Node

1.1.1

History Node

1.1.0

History Node

1.0.2

History Node

1.0.1

History Node

1.0.0

History Node

0.0.3

History Node

0.0.2

History Node

0.0.1

History Node

0.0.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
zerotest-1.2.1.tar.gz (17.5 kB) Copy SHA256 hash SHA256 Source None Dec 8, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page