add webdriver option arguments via env (#2783)
* add webdriver option arguments via env * forgot to split the args
This commit is contained in:
parent
ecb4dbaea9
commit
8903ebb8b0
@ -49,6 +49,9 @@ try:
|
|||||||
)
|
)
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
from selenium.webdriver.common.options import (
|
||||||
|
ArgOptions, # pyright: ignore [reportMissingImports]
|
||||||
|
)
|
||||||
from selenium.webdriver.remote.webelement import ( # pyright: ignore [reportMissingImports]
|
from selenium.webdriver.remote.webelement import ( # pyright: ignore [reportMissingImports]
|
||||||
WebElement,
|
WebElement,
|
||||||
)
|
)
|
||||||
@ -485,12 +488,13 @@ class AppHarness:
|
|||||||
if self.frontend_url is None:
|
if self.frontend_url is None:
|
||||||
raise RuntimeError("Frontend is not running.")
|
raise RuntimeError("Frontend is not running.")
|
||||||
want_headless = False
|
want_headless = False
|
||||||
options = None
|
options: ArgOptions | None = None
|
||||||
if os.environ.get("APP_HARNESS_HEADLESS"):
|
if os.environ.get("APP_HARNESS_HEADLESS"):
|
||||||
want_headless = True
|
want_headless = True
|
||||||
if driver_clz is None:
|
if driver_clz is None:
|
||||||
requested_driver = os.environ.get("APP_HARNESS_DRIVER", "Chrome")
|
requested_driver = os.environ.get("APP_HARNESS_DRIVER", "Chrome")
|
||||||
driver_clz = getattr(webdriver, requested_driver)
|
driver_clz = getattr(webdriver, requested_driver)
|
||||||
|
options = webdriver.ChromeOptions()
|
||||||
if driver_clz is webdriver.Chrome and want_headless:
|
if driver_clz is webdriver.Chrome and want_headless:
|
||||||
options = webdriver.ChromeOptions()
|
options = webdriver.ChromeOptions()
|
||||||
options.add_argument("--headless=new")
|
options.add_argument("--headless=new")
|
||||||
@ -500,6 +504,9 @@ class AppHarness:
|
|||||||
elif driver_clz is webdriver.Edge and want_headless:
|
elif driver_clz is webdriver.Edge and want_headless:
|
||||||
options = webdriver.EdgeOptions()
|
options = webdriver.EdgeOptions()
|
||||||
options.add_argument("headless")
|
options.add_argument("headless")
|
||||||
|
if options and (args := os.environ.get("APP_HARNESS_DRIVER_ARGS")):
|
||||||
|
for arg in args.split(","):
|
||||||
|
options.add_argument(arg)
|
||||||
driver = driver_clz(options=options) # type: ignore
|
driver = driver_clz(options=options) # type: ignore
|
||||||
driver.get(self.frontend_url)
|
driver.get(self.frontend_url)
|
||||||
self._frontends.append(driver)
|
self._frontends.append(driver)
|
||||||
|
Loading…
Reference in New Issue
Block a user