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)
分类:
HttpRunner3
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报