pytest + yaml 框架 -56. 输出日志优化+allure报告优化

2023-09-26 15:27:44 浏览数 (2)

前言

v1.4.8 版本优化接口请求和响应输出日志,生成的allure报告也按步骤优化request和response详情日志

优化日志

用例

代码语言:javascript复制
test_log1:
-
  name: log1
  request:
    url: http://127.0.0.1:8000/api/test/demo
    method: GET
  validate:
    - eq: [status_code, 200]
    - eq: ['"code": (. ?),', '0']
    - eq: ['"msg": "(. ?)"', '成功success!']

控制台日志优化

代码语言:javascript复制
a0_log/test_log.yml::test_re2
----------------------------------------------------- live log call ------------------------------------------------------
2023-09-25 18:21:01 [INFO]: 执行文件-> test_log.yml
2023-09-25 18:21:01 [INFO]: base_url-> http://127.0.0.1:8000
2023-09-25 18:21:01 [INFO]: config variables-> {}
2023-09-25 18:21:01 [INFO]: 运行用例-> test_re2
2023-09-25 18:21:01 [INFO]: yml raw  -->: {'url': 'http://127.0.0.1:8000/api/test/demo', 'method': 'GET'}
2023-09-25 18:21:01 [INFO]: ------  request info   ------
GET http://127.0.0.1:8000/api/test/demo
headers: {
    "User-Agent": "python-requests/2.31.0",
    "Accept-Encoding": "gzip, deflate",
    "Accept": "*/*",
    "Connection": "keep-alive"
}

2023-09-25 18:21:11 [INFO]: ------  response info   ------
url: http://127.0.0.1:8000/api/test/demo
status_code: 200 OK
headers: {
    "Date": "Mon, 25 Sep 2023 10:21:09 GMT",
    "Server": "WSGIServer/0.2 CPython/3.6.8",
    "Content-Type": "application/json",
    "X-Frame-Options": "SAMEORIGIN",
    "Content-Length": "260"
}
cookies: {}
body: {
    "code": 0,
    "msg": "成功success!",
    "data": [
        {
            "age": 20,
            "create_time": "2019-09-15",
            "id": 1,
            "mail": "283340479@qq.com",
            "name": "yoyo",
            "sex": "M"
        },
        {
            "age": 21,
            "create_time": "2019-09-16",
            "id": 2,
            "mail": "123445@qq.com",
            "name": "yoyo111",
            "sex": "M"
        }
    ]
}

2023-09-25 18:21:11 [INFO]: validate 校验内容-> [{'eq': ['status_code', 200]}, {'eq': ['"code": (. ?),', '0']}, {'eq': ['"m
sg": "(. ?)"', '成功success!']}]
2023-09-25 18:21:11 [INFO]: validate 校验结果-> eq: [200, 200]
2023-09-25 18:21:11 [INFO]: validate 校验结果-> eq: [0, 0]
2023-09-25 18:21:11 [INFO]: validate 校验结果-> eq: [成功success!, 成功success!]

allure 报告展示

生成allure报告

代码语言:javascript复制
pytest --alluredir ./report
allure serve ./report

allure 报告按用例步骤展示每个接口request_detail详情和response_detail详情信息

0 人点赞