zoukankan      html  css  js  c++  java
  • 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
    运行详细日志
  • 相关阅读:
    一个程序员的负罪感
    【软件安装记录篇】本地虚拟机Centos7快速安装MySQL
    三分钟熟悉进制转换与位运算
    Base64 编码原理
    Java 注解
    数据结构之链表-动图演示
    数据结构之红黑树-动图演示(下)
    数据结构之红黑树-动图演示(上)
    通过TreeMap 和 冒泡算法对JSON 进行排序
    Quartz 之 windowService
  • 原文地址:https://www.cnblogs.com/XhyTechnologyShare/p/12067240.html
Copyright © 2011-2022 走看看