/HttpRunner

HTTP test runner, more than api test and load test.

Primary LanguagePythonMIT LicenseMIT

HttpRunner

https://travis-ci.org/HttpRunner/HttpRunner.svg?branch=master https://coveralls.io/repos/github/HttpRunner/HttpRunner/badge.svg?branch=master

Former name: ApiTestEngine.

Design Philosophy

Take full reuse of Python's existing powerful libraries: Requests, unittest and Locust. And achieve the goal of API automation test, production environment monitoring, and API performance test, with a concise and elegant manner.

Key Features

  • Inherit all powerful features of Requests, just have fun to handle HTTP in human way.
  • Define testcases in YAML or JSON format in concise and elegant manner.
  • Record and generate testcases with HAR support. see har2case.
  • Supports function/variable/extract/validate mechanisms to create full test scenarios.
  • With debugtalk.py plugin, module functions can be auto-discovered in recursive upward directories.
  • Testcases can be run in diverse ways, with single testset, multiple testsets, or entire project folder.
  • Test report is concise and clear, with detailed log records. See PyUnitReport.
  • With reuse of Locust, you can run performance test without extra work.
  • CLI command supported, perfect combination with Jenkins.

Documentation

HttpRunner is rich documented.

Next Step

There are still too many awesome features to be implemented. Recent schedules includes:

  • [x] Integrate with Charles and Fiddler: convert HAR (HTTP Archive) format to YAML testcases.
  • [ ] Integrate with Swagger: convert exported API definition of Swagger to YAML testcases.
  • [ ] Integrate with PostMan: convert Postman Collection Format to YAML testcases.