Skip to content

Commit 0486a6b

Browse files
committed
Add the "deferred" version of the check_window() method
1 parent c7c1c6a commit 0486a6b

File tree

1 file changed

+44
-1
lines changed

1 file changed

+44
-1
lines changed

seleniumbase/fixtures/base_case.py

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9670,6 +9670,32 @@ def deferred_assert_text(
96709670
self.__add_deferred_assert_failure()
96719671
return False
96729672

9673+
def deferred_check_window(
9674+
self,
9675+
name="default",
9676+
level=0,
9677+
baseline=False,
9678+
check_domain=True,
9679+
full_diff=False,
9680+
):
9681+
"""A non-terminating assertion for the check_window() method.
9682+
Failures will be saved until the process_deferred_asserts()
9683+
method is called from inside a test, likely at the end of it."""
9684+
self.__check_scope()
9685+
self.__deferred_assert_count += 1
9686+
try:
9687+
self.check_window(
9688+
name=name,
9689+
level=level,
9690+
baseline=baseline,
9691+
check_domain=check_domain,
9692+
full_diff=full_diff,
9693+
)
9694+
return True
9695+
except Exception:
9696+
self.__add_deferred_assert_failure()
9697+
return False
9698+
96739699
def process_deferred_asserts(self, print_only=False):
96749700
"""To be used with any test that uses deferred_asserts, which are
96759701
non-terminating verifications that only raise exceptions
@@ -9692,7 +9718,7 @@ def process_deferred_asserts(self, print_only=False):
96929718
if print_only:
96939719
print(exception_output)
96949720
else:
9695-
raise Exception(exception_output)
9721+
raise Exception(exception_output.replace("\\n", "\n"))
96969722

96979723
############
96989724

@@ -9714,6 +9740,23 @@ def delayed_assert_text(
97149740
text=text, selector=selector, by=by, timeout=timeout
97159741
)
97169742

9743+
def delayed_check_window(
9744+
self,
9745+
name="default",
9746+
level=0,
9747+
baseline=False,
9748+
check_domain=True,
9749+
full_diff=False
9750+
):
9751+
""" Same as self.deferred_check_window() """
9752+
return self.deferred_check_window(
9753+
name=name,
9754+
level=level,
9755+
baseline=baseline,
9756+
check_domain=check_domain,
9757+
full_diff=full_diff,
9758+
)
9759+
97179760
def process_delayed_asserts(self, print_only=False):
97189761
""" Same as self.process_deferred_asserts() """
97199762
self.process_deferred_asserts(print_only=print_only)

0 commit comments

Comments
 (0)