This method is to teardown the browser based on the
configuration.
Source code in libs\cafex_core\src\cafex_core\utils\hooks_\pytest_after_scenario_hook.py
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109 | def after_scenario_browser_teardown(self):
"""This method is to teardown the browser based on the
configuration."""
try:
bool_data = False
scenario_name = self.scenario.name
examples_len = len(self.scenario.feature.scenarios[scenario_name].examples.examples)
def reset_session_store():
self.session_store.driver = None
self.session_store.counter = 1
self.session_store.datadriven = 1
def quit_and_reset(session_store, debug_id):
self.quit_driver(session_store, debug_id)
reset_session_store()
if self.session_store.base_config.get("session_end_driver_teardown_flag") is False:
if self.is_parallel_execution:
self.close_driver()
reset_session_store()
else:
quit_and_reset(self.session_store, 4)
elif self.session_store.base_config.get("skip_teardown_per_example_flag") is False:
if examples_len == 0 and len(self.scenario.params) == 0:
bool_data = True
if examples_len == 0 and bool_data and not self.is_parallel_execution:
quit_and_reset(self.session_store, 1)
else:
if examples_len > 0 and examples_len == self.session_store.counter:
quit_and_reset(self.session_store, 2)
elif self.session_store.datadriven == self.session_store.rowcount:
quit_and_reset(self.session_store, 3)
else:
self.session_store.datadriven += 1
self.session_store.counter += 1
if self.is_parallel_execution:
self.close_driver()
reset_session_store()
if examples_len == 0:
bool_data = True
if examples_len == 0 and bool_data and not self.is_parallel_execution:
quit_and_reset(self.session_store, 5)
else:
if (
examples_len == self.session_store.counter
or self.session_store.datadriven == self.session_store.rowcount
):
quit_and_reset(self.session_store, 6)
else:
if self.session_store.datadriven == self.session_store.rowcount:
quit_and_reset(self.session_store, 7)
else:
self.session_store.datadriven += 1
self.session_store.counter += 1
if (
self.is_parallel_execution
and self.session_store.datadriven != self.session_store.rowcount
):
quit_and_reset(self.session_store, 8)
except Exception as e:
self.logger.exception("Error in after_scenario_browser_teardown-->" + str(e))
|