From aa91a69bc8fa0438f6135eab22b5ed901a031f35 Mon Sep 17 00:00:00 2001 From: Min RK Date: Thu, 8 Dec 2022 15:41:15 +0100 Subject: [PATCH] use a single browser session for selenium tests avoids instantiating firefox for each test --- jupyterhub/tests/selenium/conftest.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/jupyterhub/tests/selenium/conftest.py b/jupyterhub/tests/selenium/conftest.py index 9ec5c301..36dc756e 100644 --- a/jupyterhub/tests/selenium/conftest.py +++ b/jupyterhub/tests/selenium/conftest.py @@ -2,11 +2,22 @@ import pytest from selenium import webdriver -@pytest.fixture() -def browser(cleanup_after): +@pytest.fixture(scope="session") +def browser_session(): + """Re-use one browser instance for the test session""" options = webdriver.FirefoxOptions() options.headless = True driver = webdriver.Firefox(options=options) yield driver driver.close() driver.quit() + + +@pytest.fixture +def browser(browser_session, cleanup_after): + """Get the browser session for one test + + cookies are cleared after each test + """ + yield browser_session + browser_session.delete_all_cookies()