@@ -70,6 +70,7 @@ def __init__(self, *args, **kwargs):
70
70
self .__last_url_of_delayed_assert = "data:,"
71
71
self .__last_page_load_url = "data:,"
72
72
self .__last_page_screenshot = None
73
+ self .__last_page_screenshot_png = None
73
74
self .__delayed_assert_count = 0
74
75
self .__delayed_assert_failures = []
75
76
# Requires self._* instead of self.__* for external class use
@@ -3188,15 +3189,32 @@ def setUp(self, masterqa_mode=False):
3188
3189
self ._default_driver = self .driver
3189
3190
3190
3191
def __set_last_page_screenshot (self ):
3191
- if not self .__last_page_screenshot :
3192
+ """ self.__last_page_screenshot is only for pytest html report logs
3193
+ self.__last_page_screenshot_png is for all screenshot log files """
3194
+ if not self .__last_page_screenshot and (
3195
+ not self .__last_page_screenshot_png ):
3192
3196
try :
3193
3197
element = self .driver .find_element_by_tag_name ('body' )
3194
3198
if self .is_pytest and self .report_on :
3199
+ self .__last_page_screenshot_png = (
3200
+ self .driver .get_screenshot_as_png ())
3195
3201
self .__last_page_screenshot = element .screenshot_as_base64
3196
3202
else :
3197
- self .__last_page_screenshot = element .screenshot_as_png
3203
+ self .__last_page_screenshot_png = element .screenshot_as_png
3198
3204
except Exception :
3199
- pass
3205
+ if not self .__last_page_screenshot :
3206
+ if self .is_pytest and self .report_on :
3207
+ try :
3208
+ self .__last_page_screenshot = (
3209
+ self .driver .get_screenshot_as_base64 ())
3210
+ except Exception :
3211
+ pass
3212
+ if not self .__last_page_screenshot_png :
3213
+ try :
3214
+ self .__last_page_screenshot_png = (
3215
+ self .driver .get_screenshot_as_png ())
3216
+ except Exception :
3217
+ pass
3200
3218
3201
3219
def __insert_test_result (self , state , err ):
3202
3220
data_payload = TestcaseDataPayload ()
@@ -3326,12 +3344,12 @@ def tearDown(self):
3326
3344
os .makedirs (test_logpath )
3327
3345
except Exception :
3328
3346
pass # Only reachable during multi-threaded runs
3329
- if not self .__last_page_screenshot :
3347
+ if not self .__last_page_screenshot_png :
3330
3348
self .__set_last_page_screenshot ()
3331
3349
log_helper .log_screenshot (
3332
3350
test_logpath ,
3333
3351
self .driver ,
3334
- self .__last_page_screenshot )
3352
+ self .__last_page_screenshot_png )
3335
3353
self .__add_pytest_html_extra ()
3336
3354
if self .with_testing_base and has_exception :
3337
3355
test_logpath = self .log_path + "/" + test_id
@@ -3344,23 +3362,23 @@ def tearDown(self):
3344
3362
not self .with_basic_test_info ) and (
3345
3363
not self .with_page_source )):
3346
3364
# Log everything if nothing specified (if testing_base)
3347
- if not self .__last_page_screenshot :
3365
+ if not self .__last_page_screenshot_png :
3348
3366
self .__set_last_page_screenshot ()
3349
3367
log_helper .log_screenshot (
3350
3368
test_logpath ,
3351
3369
self .driver ,
3352
- self .__last_page_screenshot )
3370
+ self .__last_page_screenshot_png )
3353
3371
log_helper .log_test_failure_data (
3354
3372
self , test_logpath , self .driver , self .browser )
3355
3373
log_helper .log_page_source (test_logpath , self .driver )
3356
3374
else :
3357
3375
if self .with_screen_shots :
3358
- if not self .__last_page_screenshot :
3376
+ if not self .__last_page_screenshot_png :
3359
3377
self .__set_last_page_screenshot ()
3360
3378
log_helper .log_screenshot (
3361
3379
test_logpath ,
3362
3380
self .driver ,
3363
- self .__last_page_screenshot )
3381
+ self .__last_page_screenshot_png )
3364
3382
if self .with_basic_test_info :
3365
3383
log_helper .log_test_failure_data (
3366
3384
self , test_logpath , self .driver , self .browser )
@@ -3421,12 +3439,12 @@ def tearDown(self):
3421
3439
log_helper .log_test_failure_data (
3422
3440
self , test_logpath , self .driver , self .browser )
3423
3441
if len (self ._drivers_list ) > 0 :
3424
- if not self .__last_page_screenshot :
3442
+ if not self .__last_page_screenshot_png :
3425
3443
self .__set_last_page_screenshot ()
3426
3444
log_helper .log_screenshot (
3427
3445
test_logpath ,
3428
3446
self .driver ,
3429
- self .__last_page_screenshot )
3447
+ self .__last_page_screenshot_png )
3430
3448
log_helper .log_page_source (test_logpath , self .driver )
3431
3449
elif self .save_screenshot_after_test :
3432
3450
test_id = "%s.%s.%s" % (self .__class__ .__module__ ,
@@ -3438,14 +3456,14 @@ def tearDown(self):
3438
3456
os .makedirs (test_logpath )
3439
3457
except Exception :
3440
3458
pass # Only reachable during multi-threaded runs
3441
- if not self .__last_page_screenshot :
3459
+ if not self .__last_page_screenshot_png :
3442
3460
self .__set_last_page_screenshot ()
3443
3461
log_helper .log_screenshot (
3444
3462
test_logpath ,
3445
3463
self .driver ,
3446
- self .__last_page_screenshot )
3464
+ self .__last_page_screenshot_png )
3447
3465
if self .report_on :
3448
- self ._last_page_screenshot = self .__last_page_screenshot
3466
+ self ._last_page_screenshot = self .__last_page_screenshot_png
3449
3467
try :
3450
3468
self ._last_page_url = self .get_current_url ()
3451
3469
except Exception :
0 commit comments