⏱️ Duration: 25.10s
❌ Error:
browser = <selenium.webdriver.remote.webdriver.WebDriver (session="881a2becf26885038c7c5965cd531f8c")>
@then('I verify Contact Us option')
def pricing_demo_schedule(browser):
try:
pricing_how_many_plan(browser, 4)
> pricing_contact_us_intercom(browser)
tests/test_pricing_page.py:44:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/pricing_page.py:237: in pricing_contact_us_intercom
switch_to_iframe(browser, INTERCOM_FRAME_ON_PRICING)
helpers/common_helpers.py:601: in switch_to_iframe
WebDriverWait(browser, sec, poll_frequency=0.4).until(EC.frame_to_be_available_and_switch_to_it(by_locator))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <selenium.webdriver.support.wait.WebDriverWait (session="881a2becf26885038c7c5965cd531f8c")>
method = <function frame_to_be_available_and_switch_to_it.<locals>._predicate at 0x7f672489c430>
message = ''
def until(self, method: Callable[[WebDriver], Union[Literal[False], T]], message: str = "") -> T:
"""Calls the method provided with the driver as an argument until the \
return value does not evaluate to ``False``.
:param method: callable(WebDriver)
:param message: optional message for :exc:`TimeoutException`
:returns: the result of the last call to `method`
:raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs
"""
screen = None
stacktrace = None
end_time = time.monotonic() + self._timeout
while True:
try:
value = method(self._driver)
if value:
return value
except self._ignored_exceptions as exc:
screen = getattr(exc, "screen", None)
stacktrace = getattr(exc, "stacktrace", None)
time.sleep(self._poll)
if time.monotonic() > end_time:
break
📸 Failure Screenshot: