HAF

haf, make autotest easy and better

HAF

支持多种测试的高可用测试框架

Build Status Documentation Status PyPI GitHub release

all

安装

使用 pip 直接安装

   tsbxmw@ps# pip install haf --upgrade

使用 git 下载源码安装

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

如何运行例子

1,使用 init 命令 或者 git 获取源码例子

    python -m haf init

或者

    git clone https://github.com/tsbxmw/haf-sample

2, 例子提供了 apiweb-ui 的测试用例

运行 api 用例

    python -m haf run -c=config.json

运行 web ui 测试用例

    python -m haf run -c=config-web.json

3, 可以在 data 文件夹下找到 index.html,作为默认的 html 报告

使用 `chrome` 或者其他浏览器打开即可。

其他内容

快速开始 例子 pypi 主页 文档主页
开始 haf-sample pypi doc

插件

id 插件名称 插件版本 github 主页
1 haf api server PyPI haf webserver
2 haf sql publish PyPI haf sqlpublish

如何运行自定义的用例

可以本地运行所以的用例

所有的进程在本地模式下都是在本机存在的

修改 testcases 中的 config.json 文件,用来运行自己的用例

    {
      "config":{
        "name": "test",
        "debug" : false,
        "bus_server_port": 8801,
        "run": {
          "sql_publish": {
            "id": 1,
            "sql_name": "upload",
            "publish": true,
            "host": "192.168.0.200",
            "port": 3306,
            "username": "root",
            "password": "root",
            "database": "haf_publish",
            "protocol": "mysql"
          },
          "log": {
            "log_path": "./data"
          },
          "bus": {
            "only": false,
            "host": "",
            "port": "",
            "auth_key": ""
          },
          "report": {
            "report_path": "./data/report.html",
            "report_template": "base",
            "report_export_path": "email"
          },
          "case": [
            {
              "case_path": "./testcases/test.xlsx"
            },
            {
              "case_path": "./testcases/test2.json"
            },
            {
              "case_path": "./testcases/test1.xlsx"
            },
            {
              "case_path": "./testcases/test3.yml"
            }
          ],
          "runner":{
            "only": false,
            "count": 4
          },
          "loader": {
            "only": false
          },
          "recorder": {
            "only": false
          },
          "web_server": {
            "host": "",
            "port": "",
            "run": true
          }
        }
      }
    }

可以使用 testcases 中提供的默认例子创建新的用例

运行

使用 config 配置运行 测试

    python -m haf run -c=./testcases/config.json

使用 参数 运行测试

    python -m haf run -case=./testcases/test.xlsx,./testcases/test2.json -ld=./data -rh=true -rod=./data/report.html

测试报告

report

如何运行 app-ui 测试用例

    "run": {
        "type": "app"  # change type to app

        "report": {
            "report_template": "base_app",  # change report_template to base_app
            "report_path": "./data/report.html"
        }
    }

report-app

运行 web-ui 测试用例

    "run": {
        "type": "web"  # change type to web

        "report": {
            "report_template": "base_web",  # change report_template to base_web
            "report_path": "./data/report.html"
        }
    }

report-app

haf 例子

https://github.com/hautof/haf-sample

其他的命令行参数

    python -m haf run -rc=4
    python -m haf run -ws=true
    # 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
    "report": {
        "report_template": "base_app"
    }
    "sql_publish": {
        "id": 1,
        "sql_name": "upload",
        "publish": true,
        "host": "192.168.0.200",
        "port": 3306,
        "username": "root",
        "password": "root",
        "database": "haf_publish",
        "protocol": "mysql"
    }

sql

其他支持

    tsbx# pip install hafweb -U
    python -m hafweb -ss=root:root@localhost:3306@haf_publish -p=8081

web api server suport

    http://localhost:8888/loader
    http://localhost:8888/runner
    http://localhost:8888/result
    http://localhost:8888/report
    http://localhost:8888/report-app

FrameWork

Design

map

Doc

doc url

read the doc

wiki home

Quick Start

Release Note

release note

new features