Skip to content

Commit 3c260af

Browse files
committed
Refactoring
1 parent dc6fb95 commit 3c260af

File tree

7 files changed

+214
-58
lines changed

7 files changed

+214
-58
lines changed

seleniumbase/core/log_helper.py

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
python3_11_or_newer = False
1111
if sys.version_info >= (3, 11):
1212
python3_11_or_newer = True
13+
py311_patch2 = constants.PatchPy311.PATCH
1314

1415

1516
def log_screenshot(test_logpath, driver, screenshot=None, get=False):
@@ -79,7 +80,11 @@ def get_master_time():
7980

8081

8182
def get_browser_version(driver):
82-
if python3_11_or_newer and hasattr(sb_config, "_browser_version"):
83+
if (
84+
python3_11_or_newer
85+
and py311_patch2
86+
and hasattr(sb_config, "_browser_version")
87+
):
8388
return sb_config._browser_version
8489
driver_capabilities = driver.capabilities
8590
if "version" in driver_capabilities:
@@ -187,6 +192,25 @@ def log_test_failure_data(test, test_logpath, driver, browser, url=None):
187192
traceback_list = traceback.format_list(
188193
traceback.extract_tb(traceback_address)[1:]
189194
)
195+
updated_list = []
196+
counter = 0
197+
for traceback_item in traceback_list:
198+
if "self._callTestMethod(testMethod)" in traceback_item:
199+
counter = 1
200+
updated_list.append(traceback_item) # In case not cleared
201+
continue
202+
elif (
203+
", in _callTestMethod" in traceback_item.strip()
204+
and "method()" in traceback_item.strip()
205+
and counter == 1
206+
):
207+
counter = 0
208+
updated_list = []
209+
continue
210+
else:
211+
counter = 0
212+
updated_list.append(traceback_item)
213+
traceback_list = updated_list
190214
traceback_message = "".join(traceback_list).strip()
191215
except Exception:
192216
exc_message = "(Unknown Exception)"
@@ -201,13 +225,17 @@ def log_test_failure_data(test, test_logpath, driver, browser, url=None):
201225
if sb_config.behave_step.error_message:
202226
traceback_message = sb_config.behave_step.error_message
203227
else:
204-
traceback_message = "".join(
205-
traceback.format_exception(
206-
sys.exc_info()[0],
207-
sys.exc_info()[1],
208-
sys.exc_info()[2],
209-
)
228+
format_exception = traceback.format_exception(
229+
sys.exc_info()[0], sys.exc_info()[1], sys.exc_info()[2]
210230
)
231+
if format_exception:
232+
updated_list = []
233+
for line in format_exception:
234+
if "sb_manager.py" in line and "yield sb" in line:
235+
continue
236+
updated_list.append(line)
237+
format_exception = updated_list
238+
traceback_message = "".join(format_exception)
211239
if (
212240
not traceback_message
213241
or len(str(traceback_message)) < 30

0 commit comments

Comments
 (0)