Skip to main content

No project description provided

Project description

haf

The http api auto test framework. 

Build Status Documentation Status

new features

  • based on local test runner

  • support xlsx,json,yml,py cases

  • report generate with html-template

  • multi-processes on different machines

  • multi-runners

  • web-server support restful api based on flask

  • only mode : loader/runner/recorder/webserver/bus support

report all

How to get it

using pip to get it

   tsbxmw@ps# pip install haf --upgrade

using git tool to get it

   tsbxmw@ps# git clone https://github.com/tsbxmw/haf
   tsbxmw@ps# cd haf
   tsbxmw@ps# python setup.py install

How to run

local bus mode, using local bus to run all cases

  • local bus is without --bus-server(-bs) args, when running the program, the bus would be created
modify the config.json in testcases
  • change the log_path and report_path and case_path to your own path
    {
      "config":{
        "run": {
          "log": {
            "log_path": "D:/workspace/mine/python/haf/data"
          },
          "bus": {
            "only": false,
            "host": "",
            "port": "",
            "auth_key": ""
          },
          "report": {
            "report_path": "D:/workspace/mine/python/haf/data/report.html"
          },
          "case": [
            {
              "case_path": "D:/workspace/mine/python/haf/testcases/test.xlsx"
            },
            {
              "case_path": "D:/workspace/mine/python/haf/testcases/test2.json"
            },
            {
              "case_path": "D:/workspace/mine/python/haf/testcases/test1.xlsx"
            },
            {
              "case_path": "D:/workspace/mine/python/haf/testcases/test3.yml"
            }
          ],
          "runner":{
            "only": false,
            "count": 4
          },
          "loader": {
            "only": false
          },
          "recorder": {
            "only": false
          },
          "web_server": {
            "host": "",
            "port": "",
            "run": true
          }
        }
      }

    }
create testcase
  • create xlsx/json/yml file with template in testcases/
run
  • run with config
    python -m haf run -c=./testcases/config.json
  • run with args
    python -m haf run -case=./testcases/test.xlsx,./testcases/test2.json -ld=./data -rh=true -rod=./data/report.html
other run args
  • run with multi-runners (4 runners)
    python -m haf run -rc=4
  • run with web server
    python -m haf run -ws=true
  • run with only-mode
    # only loader
    python -m haf run -ol=true
    # only bus
    python -m haf run -ob=true
    # only runner
    python -m haf run -or=true
    # only recorder
    python -m haf run -ore=true

web api server suport

  • get loader infos
    http://localhost:8888/loader
  • get runner infos
    http://localhost:8888/runner
  • get result infos
    http://localhost:8888/result
  • get report infos
    http://localhost:8888/report

FrameWork

Design

map

Doc

doc url

read the doc

wiki home

Quick Start

Release Note

release note

Project details


Release history Release notifications

Download files

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

Files for haf, version 2.2rc2
Filename, size & hash File type Python version Upload date
haf-2.2rc2-py2.py3-none-any.whl (283.9 kB) View hashes Wheel py2.py3

Supported by

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