L02_HttpRunner的hook(钩子)机制:(setup/teardown)用例步骤层面的调用
在 HttpRunner 中,hook 机制可以同时在“测试用例层面”和“测试步骤层面”使用,下面看一看同时使用这两个层面钩子的情况。
案例二: 用例层面 和 步骤层面 hook 的使用
在 debugtalk.py 文件中定义的 hook 函数:
def print_msg(type, msg):
print("执行%s:%s" % (type, msg))
引入钩子 hook 的测试用例文件:
- 在用例中使用 hook
- 在每个步骤中使用 hook
- config:
name: 测试用例
# 测试用例层面调用钩子函数
setup_hooks:
- ${print_msg(用例, TestCase-Begin)}
teardown_hooks:
- ${print_msg(用例, TestCase-End)}
- test:
name: 测试步骤 - 打开登录页面
# 测试步骤层面调用钩子函数
setup_hooks:
- ${print_msg(步骤, TestStep-Begin)}
teardown_hooks:
- ${print_msg(步骤, TestStep-Begin)}
request:
url: http://localhost/myweb/jxc/index.asp
method: GET
validata:
- eq: [status_code, 200]
- test:
name: 测试步骤 - 进行登录操作
# 测试步骤层面调用钩子函数
setup_hooks:
- ${print_msg(步骤, TestStep-Begin)}
teardown_hooks:
- ${print_msg(步骤, TestStep-Begin)}
request:
url: http://localhost/myweb/jxc/index.asp?action=login
method: POST
allow_redirects: FALSE
data:
username: admin
pwd: admin
validata:
- eq: [status_code, 302]
执行测试用例,hook 函数被成功调用。
