Skip to content

Commit a2a1a99

Browse files
committed
retry get_webdriver
1 parent e9c71e7 commit a2a1a99

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

dash/testing/browser.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def __init__(
6767
self._percy_run = percy_run
6868
self._pause = pause
6969

70-
self._driver = until(self.get_webdriver, timeout=1)
70+
self._driver = until(self._try_get_webdriver, timeout=30)
7171
self._driver.implicitly_wait(2)
7272

7373
self._wd_wait = WebDriverWait(self.driver, wait_timeout)
@@ -468,6 +468,14 @@ def open_new_tab(self, url=None):
468468
def get_webdriver(self):
469469
return getattr(self, f"_get_{self._browser}")()
470470

471+
def _try_get_webdriver(self):
472+
"""Wrapper that catches exceptions so until() can retry on transient failures."""
473+
try:
474+
return self.get_webdriver()
475+
except Exception:
476+
logger.exception("webdriver initialization failed, will retry")
477+
return None
478+
471479
def _get_wd_options(self):
472480
options = (
473481
self._options[0]

0 commit comments

Comments
 (0)