一、 介绍
setup_hooks: 在整个用例开始执行前触发 hook 函数,主要用于准备工作。
teardown_hooks: 在整个用例结束执行后触发 hook 函数,主要用于测试后的清理工作。
二、调用 hook 函数
hook 机制分为两个层级:
- 测试用例层面(testcase)
- 测试步骤层面(teststep)(v4.3.5版本在测试步骤层面引用hook函数无法执行,有没有大佬解答一下?)
1.运行测试用例层面(testcase)
准备工作:先在debugtalk.py中定义hook函数
def setup_demo():
return "运行于测试用例之前!"
def teardown_demo():
return "运行于测试用例之后!")
config:
name: logincase
variables: {}
teststeps:
-
name: step1 login
request:
url: http://www.example.com
method: GET
setup_hooks:
- ${setup_demo()}
teardown_hooks:
- ${teardown_demo()}
执行用例
hrp run xxx.yml
三、调用hook函数带参数
在项目实战中,使用hook函数一般都会带参数,如果我们在teardown_hooks执行时需要传入response,可以通过response[“key”]的方式灵活获取response的类型。(之前有尝试过直接用extract+export往teardown函数传入参数,提示variable not found,发现extract提取 在teardown函数执行之后才能执行)
用例执行后的response为dict类型,我们可以在定义teardown函数时将需要的值取出来
def teardown_demo(response):
shell = response["body"]["shell"] #将response中shell的value取出
...
...
...
return 结果
config:
name: logincase
variables: {}
teststeps:
-
name: step1 login
request:
url: http://www.example.com
method: GET
teardown_hooks:
- ${teardown_demo($response)} #response为该接口用例的响应结果
博客介绍了测试用例中hook函数的相关内容,包括setup_hooks用于用例执行前准备,teardown_hooks用于用例执行后清理。还提到hook机制分测试用例和测试步骤两个层级,以及运行测试用例层面的操作,同时说明了调用hook函数带参数的情况。
1453

被折叠的 条评论
为什么被折叠?



