天天看点

L02_HttpRunner的hook(钩子)机制:(setup/teardown)用例步骤层面的调用

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 函数被成功调用。

L02_HttpRunner的hook(钩子)机制:(setup/teardown)用例步骤层面的调用

继续阅读