|
@@ -5,6 +5,8 @@ from typing import Dict, Generator
|
|
import icecream
|
|
import icecream
|
|
import pytest
|
|
import pytest
|
|
from selenium import webdriver
|
|
from selenium import webdriver
|
|
|
|
+from selenium.webdriver.chrome.service import Service
|
|
|
|
+from webdriver_manager.chrome import ChromeDriverManager
|
|
|
|
|
|
from nicegui import Client, globals
|
|
from nicegui import Client, globals
|
|
from nicegui.page import page
|
|
from nicegui.page import page
|
|
@@ -56,10 +58,20 @@ def remove_all_screenshots() -> None:
|
|
os.remove(os.path.join(Screen.SCREENSHOT_DIR, name))
|
|
os.remove(os.path.join(Screen.SCREENSHOT_DIR, name))
|
|
|
|
|
|
|
|
|
|
|
|
+@pytest.fixture(scope="function")
|
|
|
|
+def driver(chrome_options: webdriver.ChromeOptions) -> webdriver.Chrome:
|
|
|
|
+ s = Service(ChromeDriverManager().install())
|
|
|
|
+ driver = webdriver.Chrome(service=s, options=chrome_options)
|
|
|
|
+ driver.implicitly_wait(Screen.IMPLICIT_WAIT)
|
|
|
|
+ driver.set_page_load_timeout(4)
|
|
|
|
+ yield driver
|
|
|
|
+ driver.quit()
|
|
|
|
+
|
|
|
|
+
|
|
@pytest.fixture
|
|
@pytest.fixture
|
|
-def screen(selenium: webdriver.Chrome, request: pytest.FixtureRequest, caplog: pytest.LogCaptureFixture) \
|
|
|
|
|
|
+def screen(driver: webdriver.Chrome, request: pytest.FixtureRequest, caplog: pytest.LogCaptureFixture) \
|
|
-> Generator[Screen, None, None]:
|
|
-> Generator[Screen, None, None]:
|
|
- screen = Screen(selenium, caplog)
|
|
|
|
|
|
+ screen = Screen(driver, caplog)
|
|
yield screen
|
|
yield screen
|
|
if screen.is_open:
|
|
if screen.is_open:
|
|
screen.shot(request.node.name)
|
|
screen.shot(request.node.name)
|