Skip to content

Commit c7c1c6a

Browse files
committed
Add the "full_diff" option to the check_window() method
1 parent 0f6221c commit c7c1c6a

File tree

1 file changed

+46
-11
lines changed

1 file changed

+46
-11
lines changed

seleniumbase/fixtures/base_case.py

Lines changed: 46 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9292,7 +9292,12 @@ def __assert_eq(self, *args, **kwargs):
92929292
raise Exception(minified_exception)
92939293

92949294
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,
92969301
):
92979302
"""*** Automated Visual Testing with SeleniumBase ***
92989303
@@ -9351,6 +9356,10 @@ def check_window(
93519356
only makes sense if you're calling self.check_window() more than
93529357
once with the same name parameter in the same test.
93539358
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+
93549363
Automated Visual Testing with self.check_window() is not very
93559364
effective for websites that have dynamic content that changes
93569365
the layout and structure of web pages. For those, you're much
@@ -9482,12 +9491,21 @@ def check_window(
94829491
self.assertEqual(page_data_domain, page_domain, domain_fail)
94839492
unittest.TestCase.maxDiff = 6400 # Use `None` for no limit
94849493
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)
94869498
unittest.TestCase.maxDiff = 3200
94879499
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)
94899504
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)
94919509
unittest.TestCase.maxDiff = 6400 # Use `None` for no limit
94929510
if level == 0:
94939511
try:
@@ -9497,19 +9515,36 @@ def check_window(
94979515
page_domain, page_data_domain, domain_fail
94989516
)
94999517
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+
)
95039526
except Exception as e:
95049527
print(e)
95059528
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+
)
95099537
except Exception as e:
95109538
print(e)
95119539
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+
)
95139548
except Exception as e:
95149549
print(e) # Level-0 Dry Run (Only print the differences)
95159550
unittest.TestCase.maxDiff = None # Reset unittest.TestCase.maxDiff

0 commit comments

Comments
 (0)