瀏覽代碼

instantiate own driver to avoid deprecation warnings

Falko Schindler 1 年之前
父節點
當前提交
64990112f3
共有 1 個文件被更改,包括 14 次插入2 次删除
  1. 14 2
      tests/conftest.py

+ 14 - 2
tests/conftest.py

@@ -5,6 +5,8 @@ from typing import Dict, Generator
 import icecream
 import pytest
 from selenium import webdriver
+from selenium.webdriver.chrome.service import Service
+from webdriver_manager.chrome import ChromeDriverManager
 
 from nicegui import Client, globals
 from nicegui.page import page
@@ -56,10 +58,20 @@ def remove_all_screenshots() -> None:
             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
-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]:
-    screen = Screen(selenium, caplog)
+    screen = Screen(driver, caplog)
     yield screen
     if screen.is_open:
         screen.shot(request.node.name)