学习Httprunner的hook机制

  • 调用hook函数

1、测试用例层面(testcase);

2、测试步骤层面(teststep);

  • 测试用例层面

在YAML/JSON测试用例的config中新增关键字setup_hooks和teardown_hooks。

1、setup_hooks: 在整个用例执行开始前触发hook函数,用于准备工作;

2、teardown_hooks: 在整个用例结束执行后触发hook函数,主要用于测试后的清理工作;

  • 测试步骤层面(teststep)

在YAML/JSON测试步骤中的test中新增关键字setup_hook和teardown_hooks

1、setup_hooks: 在 HTTP 请求发送前执行 hook 函数,主要用于准备工作;也可以实现对请求的 request 内容进行预处理;

2、teardown_hooks: 在 HTTP 请求发送后执行 hook 函数,主要用于测试后的清理工作;也可以实现对响应的 response 进行修改,例如进行加解密等处理;

  • 编写hook函数

hook函数放在文件的debugtalk.py中,其结构如下:

学习Httprunner的hook机制_第1张图片

在YAML/JSON中调用hook函数仍然采用${func( $a,  $b )}的形式,对于函数中的参数,可以有两类信息:

1、一方面可以使用自定义参数;

2、另一方面可以传入与当前测试用例相关的信息,例如:$request 和响应 $response,用于实现更加复杂场景的灵活应用。

虽然在使用过程中,会出现问题:函数定义在debugtalk.py中,在yml中调用的时候,会出现调用失败,函数找不到的情况。

你可能感兴趣的:(软件测试之自动化测试学习)