@@ -9292,7 +9292,12 @@ def __assert_eq(self, *args, **kwargs):
9292
9292
raise Exception (minified_exception )
9293
9293
9294
9294
def check_window (
9295
- self , name = "default" , level = 0 , baseline = False , check_domain = True
9295
+ self ,
9296
+ name = "default" ,
9297
+ level = 0 ,
9298
+ baseline = False ,
9299
+ check_domain = True ,
9300
+ full_diff = False ,
9296
9301
):
9297
9302
"""*** Automated Visual Testing with SeleniumBase ***
9298
9303
@@ -9351,6 +9356,10 @@ def check_window(
9351
9356
only makes sense if you're calling self.check_window() more than
9352
9357
once with the same name parameter in the same test.
9353
9358
9359
+ If "full_diff" is set to False, the error output will only
9360
+ include the first differing element in the list comparison.
9361
+ Set "full_diff" to True if you want to see the full output.
9362
+
9354
9363
Automated Visual Testing with self.check_window() is not very
9355
9364
effective for websites that have dynamic content that changes
9356
9365
the layout and structure of web pages. For those, you're much
@@ -9482,12 +9491,21 @@ def check_window(
9482
9491
self .assertEqual (page_data_domain , page_domain , domain_fail )
9483
9492
unittest .TestCase .maxDiff = 6400 # Use `None` for no limit
9484
9493
if level == 3 :
9485
- self .__assert_eq (level_3_data , level_3 , level_3_failure )
9494
+ if not full_diff :
9495
+ self .__assert_eq (level_3_data , level_3 , level_3_failure )
9496
+ else :
9497
+ self .assertEqual (level_3_data , level_3 , level_3_failure )
9486
9498
unittest .TestCase .maxDiff = 3200
9487
9499
if level == 2 :
9488
- self .__assert_eq (level_2_data , level_2 , level_2_failure )
9500
+ if not full_diff :
9501
+ self .__assert_eq (level_2_data , level_2 , level_2_failure )
9502
+ else :
9503
+ self .assertEqual (level_2_data , level_2 , level_2_failure )
9489
9504
if level == 1 :
9490
- self .__assert_eq (level_1_data , level_1 , level_1_failure )
9505
+ if not full_diff :
9506
+ self .__assert_eq (level_1_data , level_1 , level_1_failure )
9507
+ else :
9508
+ self .assertEqual (level_1_data , level_1 , level_1_failure )
9491
9509
unittest .TestCase .maxDiff = 6400 # Use `None` for no limit
9492
9510
if level == 0 :
9493
9511
try :
@@ -9497,19 +9515,36 @@ def check_window(
9497
9515
page_domain , page_data_domain , domain_fail
9498
9516
)
9499
9517
try :
9500
- self .__assert_eq (
9501
- level_1_data , level_1 , level_1_failure
9502
- )
9518
+ if not full_diff :
9519
+ self .__assert_eq (
9520
+ level_1_data , level_1 , level_1_failure
9521
+ )
9522
+ else :
9523
+ self .assertEqual (
9524
+ level_1_data , level_1 , level_1_failure
9525
+ )
9503
9526
except Exception as e :
9504
9527
print (e )
9505
9528
try :
9506
- self .__assert_eq (
9507
- level_2_data , level_2 , level_2_failure
9508
- )
9529
+ if not full_diff :
9530
+ self .__assert_eq (
9531
+ level_2_data , level_2 , level_2_failure
9532
+ )
9533
+ else :
9534
+ self .assertEqual (
9535
+ level_2_data , level_2 , level_2_failure
9536
+ )
9509
9537
except Exception as e :
9510
9538
print (e )
9511
9539
unittest .TestCase .maxDiff = 6400 # Use `None` for no limit
9512
- self .__assert_eq (level_3_data , level_3 , level_3_failure )
9540
+ if not full_diff :
9541
+ self .__assert_eq (
9542
+ level_3_data , level_3 , level_3_failure
9543
+ )
9544
+ else :
9545
+ self .assertEqual (
9546
+ level_3_data , level_3 , level_3_failure
9547
+ )
9513
9548
except Exception as e :
9514
9549
print (e ) # Level-0 Dry Run (Only print the differences)
9515
9550
unittest .TestCase .maxDiff = None # Reset unittest.TestCase.maxDiff
0 commit comments