Changelogs » Haf

Haf

2.7.0

- warning support
![image](https://user-images.githubusercontent.com/15834891/54604394-99052a80-4a81-11e9-9279-c498a4644323.png)

- stage result show
![image](https://user-images.githubusercontent.com/15834891/54604436-ae7a5480-4a81-11e9-8c72-f8951befd7cb.png)

- fix some bugs:

> operation show of web stages
> can failed stage : to be warning but not error

2.6.6

- fix logger bugs
- add console summary output

2.6.3

> add jsonschema to check config.json file when test start

> using build.bat to build exe

shell
xcopy /e /a /y ..\haf\* .\
pyinstaller -F main.py -i ..\docs\png\haf.ico --additional-hooks-dir=


> add new locker support

python
contextlib.contextmanager
def new_locker(bus_client, key):
locker = Locker(bus_client, key)
locker.get_lock()
try:
yield
finally:
locker.release_lock()
return

2.6.2

- support selenium web ui case now
- using python -m haf init to get test_web case
- using python -m haf run -c=config-web.json to run test_web case

- haf-sample : https://github.com/hautof/haf-sample/blob/master/test_web.json

json
{
"testcases": [
{
"id": 1,
"name": "test baidu",
"subid": 1,
"subname": "default",
"app_name": "default",
"run": true,
"type": "web",
"wait_time": 2,
"desired_caps": {
"platformName": "chrome",
"platformVersion": "9",
"start_url": "http://baidu.com"
},
"stage": [
{
"id": 1,
"name": "输入搜索内容",
"operation": "send_keys",
"path": {
"xpath": "//*[id='kw']"
},
"try": false,
"info": {"keys": "autotest.wang"},
"sleep": 0.5
},
{
"id": 2,
"name": "点击搜索按钮",
"operation": "click",
"path": {
"xpath": "//*[id='su']"
},
"try": false,
"info": null,
"sleep": 0.5
}
],
"dependent": null
}],
"dbconfig": [{
"id": 1,
"sql_name": "mysql1",
"protocol": "mysql",
"host": "192.168.41.208",
"port": 3306,
"username": "root",
"password": "testzhan123",
"database": "visual"
}],
"config": [{
"name": "test_baidu",
"benchname": "test_baidu",
"protocol": "http",
"host_port": "www.baidu.com"
}]
}

2.6.1

- change to plugin mode : sql publish and api server
- fix some bugs of --bus-server-port (-bsp)
- add support of app case publish to sql

2.4.3

- fix some bugs
- update app runner / report

2.3.3

- add android app ui case support
- add app ui html report template

> AppRunner
- same as PyRunner & ApiRunner

> apphelper
- BasePage : base function of app ui
- Stage : stage of ui
- DesiredCaps : appium desired caps

> stage support
![image](https://user-images.githubusercontent.com/15834891/52685375-74023100-2f84-11e9-9bcb-5e4990cc9460.png)

2.2.4

- support mysql publish
- publish results to mysql


"sql_publish": {
"id": 1,
"sql_name": "upload",
"publish": true,
"host": "192.168.41.208",
"port": 3306,
"username": "root",
"password": "testzhan123",
"database": "haf_publish",
"protocol": "mysql"
}


![image](https://user-images.githubusercontent.com/15834891/51518119-d66d8300-1e57-11e9-9554-22503b02f946.png)

2.2.0


      

2.2.0rc0


      

2.2.a


      

2.1.9rc0


      

2.1.7

- main loop command support
- fix some bugs

2.1.0

- bug fix : end time and duration time
- contains version 2.0.7 2.0.8 2.0.9 ...

2.1.c

- fix some bugs
- add some new features

2.0.7

- fix some bug
- add /doc /status / support
- fix autotest.wang gif/png
- design.md png show

2.0.5


      

2.0.4

- update html with online template
- add debug support

2.0.3

- update lock support to decorator
python
from haf.utils import locker
lock
def lock_func():
pass

- support pycase
python
from haf.mark import test, skip, parameterize
test
skip
parameterize([{}])

2.0.1

- bug fix : cannot show png at readme
- add gif to doc/show

2.0.0

- 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