mirror of
https://github.com/httprunner/httprunner.git
synced 2026-07-10 06:51:44 +08:00
change: add HookTypeEnum
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
# encoding: utf-8
|
# encoding: utf-8
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
from unittest.case import SkipTest
|
from unittest.case import SkipTest
|
||||||
|
|
||||||
from httprunner import exceptions, logger, response, utils
|
from httprunner import exceptions, logger, response, utils
|
||||||
@@ -8,6 +9,11 @@ from httprunner.context import SessionContext
|
|||||||
from httprunner.validator import Validator
|
from httprunner.validator import Validator
|
||||||
|
|
||||||
|
|
||||||
|
class HookTypeEnum(Enum):
|
||||||
|
SETUP = 1
|
||||||
|
TEARDOWN = 2
|
||||||
|
|
||||||
|
|
||||||
class Runner(object):
|
class Runner(object):
|
||||||
""" Running testcases.
|
""" Running testcases.
|
||||||
|
|
||||||
@@ -74,11 +80,11 @@ class Runner(object):
|
|||||||
self.session_context = SessionContext(config_variables)
|
self.session_context = SessionContext(config_variables)
|
||||||
|
|
||||||
if testcase_setup_hooks:
|
if testcase_setup_hooks:
|
||||||
self.do_hook_actions(testcase_setup_hooks, "setup")
|
self.do_hook_actions(testcase_setup_hooks, HookTypeEnum.SETUP)
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
if self.testcase_teardown_hooks:
|
if self.testcase_teardown_hooks:
|
||||||
self.do_hook_actions(self.testcase_teardown_hooks, "teardown")
|
self.do_hook_actions(self.testcase_teardown_hooks, HookTypeEnum.TEARDOWN)
|
||||||
|
|
||||||
def __clear_test_data(self):
|
def __clear_test_data(self):
|
||||||
""" clear request and response data
|
""" clear request and response data
|
||||||
@@ -131,10 +137,10 @@ class Runner(object):
|
|||||||
format2 (str): only call hook functions.
|
format2 (str): only call hook functions.
|
||||||
${func()}
|
${func()}
|
||||||
|
|
||||||
hook_type (enum): setup/teardown
|
hook_type (HookTypeEnum): setup/teardown
|
||||||
|
|
||||||
"""
|
"""
|
||||||
logger.log_debug("call {} hook actions.".format(hook_type))
|
logger.log_debug("call {} hook actions.".format(hook_type.name))
|
||||||
for action in actions:
|
for action in actions:
|
||||||
|
|
||||||
if isinstance(action, dict) and len(action) == 1:
|
if isinstance(action, dict) and len(action) == 1:
|
||||||
@@ -215,7 +221,7 @@ class Runner(object):
|
|||||||
# setup hooks
|
# setup hooks
|
||||||
setup_hooks = test_dict.get("setup_hooks", [])
|
setup_hooks = test_dict.get("setup_hooks", [])
|
||||||
if setup_hooks:
|
if setup_hooks:
|
||||||
self.do_hook_actions(setup_hooks, "setup")
|
self.do_hook_actions(setup_hooks, HookTypeEnum.SETUP)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
method = parsed_test_request.pop('method')
|
method = parsed_test_request.pop('method')
|
||||||
@@ -270,7 +276,7 @@ class Runner(object):
|
|||||||
teardown_hooks = test_dict.get("teardown_hooks", [])
|
teardown_hooks = test_dict.get("teardown_hooks", [])
|
||||||
if teardown_hooks:
|
if teardown_hooks:
|
||||||
self.session_context.update_test_variables("response", resp_obj)
|
self.session_context.update_test_variables("response", resp_obj)
|
||||||
self.do_hook_actions(teardown_hooks, "teardown")
|
self.do_hook_actions(teardown_hooks, HookTypeEnum.TEARDOWN)
|
||||||
self.http_client_session.update_last_req_resp_record(resp_obj)
|
self.http_client_session.update_last_req_resp_record(resp_obj)
|
||||||
|
|
||||||
# extract
|
# extract
|
||||||
|
|||||||
Reference in New Issue
Block a user