1010python3_11_or_newer = False
1111if sys .version_info >= (3 , 11 ):
1212 python3_11_or_newer = True
13+ py311_patch2 = constants .PatchPy311 .PATCH
1314
1415
1516def log_screenshot (test_logpath , driver , screenshot = None , get = False ):
@@ -79,7 +80,11 @@ def get_master_time():
7980
8081
8182def 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