debugtalk.py辅助函数 - hook机制(setup和teardown)

hook机制(setup和teardown)

  HttpRunner3是基于Pytest框架,里面有前置和后置的概念
  setup_hooks:开始执行前触发hook函数,主要用于请求预处理(签名,加密)
  teardown_hooks:结束执行后触发hook函数,主要用于返回预处理(解密)
  testcase/login_hook.yml
复制代码
config:
    name: 登录用例
    base_url: http://127.0.0.1:端口号
    variables:
        user: test1
        psw: "123456"
    # 需要把用到的参数导出来,成为全局标量后被使用
    export:
    - token
teststeps:
-
    name: step-登录
    setup_hooks:
        - ${setup_hook()}
        - ${request_sign($request)}
    request:
        method: POST
        url: /api/test/login
        json:
            username: $user
            password: $psw
    teardown_hooks:
        - ${teardown_hook()}
        - ${response_status(response)}
    extract:
        token: body.token
    validate:
    - eq: [status_code, 200]
    - eq: [body.code, 0]
    - eq: [body.msg, login success!]
    - eq: [body.username, $user]
    - len_eq: [body.token, 40]
复制代码

  debugtalk.py

复制代码
def setup_hook():
    print("--------setup----------")

def teardown_hook():
    print("--------teaddown----------")

def request_sign(request):
    body = request.get("req_json")
    print("body内容:", body)
    sign = "sign xxxxxxxxxxxx"
    body["sign"] = sign
    request["req_json"] = body
    print("request内容:", request)

def response_status(response):
    print("status_code", response.status_code)
    response.status_code = 203
    print("修改后status_code", response.status_code)
复制代码
posted @   乌醍  阅读(110)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示