• HttpRunner接口自动化测试框架--5.hook机制


    HttpRunner 从 1.4.5 版本开始实现了全新的 hook 机制,可以在请求前和请求后调用函数。函数统一存放在dabugtalk.py 文件中。在 YAML/JSON 中调用 hook 函数仍然是采用 ${func($a, $b)} 的形式。hook函数只在用例中声明有效

    hook 机制分为两个层级:测试用例层面(testcase)测试步骤层面(teststep)

    1.测试用例层面(testcase)

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

    setup_hooks: 在整个用例开始执行前触发 hook 函数,主要用于准备工作。

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

    首先编写两个简单的函数做示范:

     

     1 D:Python_ScriptInterface_Test>hrun testcases/reg.yaml
     2 INFO     HttpRunner version: 2.4.2
     3 INFO     Loading environment variables from D:Python_ScriptInterface_Test.env
     4 -----> 这是测试用例层面的hook函数 <-----
     5 -----> 我是执行用例之前执行的<-----
     6 INFO     Start to run testcase: None
     7 金融项目注册接口
     8 INFO     GET http://192.168.200.144:8080/futureloan/mvc/api/member/register
     9 INFO     status_code: 200, response_time(ms): 27.93 ms, response_length: 60 bytes
    10 
    11 .
    12 
    13 ----------------------------------------------------------------------
    14 Ran 1 test in 0.033s
    15 
    16 OK
    17 INFO     Start to render Html report ...
    18 -----> 这是测试用例层面的hook函数 <-----
    19 -----> 我是执行用例之后执行的<-----
    20 INFO     Generated Html report: D:Python_ScriptInterface_Test
    eports1576733100.html
    运行详细日志

    2.测试用例层面(teststeps)

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

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

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

    编写函数举例:

     

    这是登录测试用例
    -----> 这是测试步骤层面的hook函数 <-----
    -----> 我是执行用例步骤之前执行的<-----
    INFO     GET http://192.168.200.144:8080/futureloan/mvc/api/member/login
    INFO     status_code: 200, response_time(ms): 10.97 ms, response_length: 60 bytes
    
    -----> 这是测试步骤层面的hook函数 <-----
    -----> 我是执行用例步骤之后执行的<-----
    .
    
    ----------------------------------------------------------------------
    Ran 2 tests in 0.035s
    运行详细日志
  • 相关阅读:
    冲刺阶段第三天
    冲刺阶段第二天
    冲刺阶段第一天
    工作项估计
    学习进度条(7-9周)
    团队计划会议01
    第一次冲刺阶段(一)
    软件项目团队报告
    团队项目会议第一次
    团队开发项目需求简介
  • 原文地址:https://www.cnblogs.com/XhyTechnologyShare/p/12067240.html
Copyright © 2020-2023  润新知