10
10
python3_11_or_newer = False
11
11
if sys .version_info >= (3 , 11 ):
12
12
python3_11_or_newer = True
13
+ py311_patch2 = constants .PatchPy311 .PATCH
13
14
14
15
15
16
def log_screenshot (test_logpath , driver , screenshot = None , get = False ):
@@ -79,7 +80,11 @@ def get_master_time():
79
80
80
81
81
82
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
+ ):
83
88
return sb_config ._browser_version
84
89
driver_capabilities = driver .capabilities
85
90
if "version" in driver_capabilities :
@@ -187,6 +192,25 @@ def log_test_failure_data(test, test_logpath, driver, browser, url=None):
187
192
traceback_list = traceback .format_list (
188
193
traceback .extract_tb (traceback_address )[1 :]
189
194
)
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
190
214
traceback_message = "" .join (traceback_list ).strip ()
191
215
except Exception :
192
216
exc_message = "(Unknown Exception)"
@@ -201,13 +225,17 @@ def log_test_failure_data(test, test_logpath, driver, browser, url=None):
201
225
if sb_config .behave_step .error_message :
202
226
traceback_message = sb_config .behave_step .error_message
203
227
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 ]
210
230
)
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 )
211
239
if (
212
240
not traceback_message
213
241
or len (str (traceback_message )) < 30
0 commit comments