Skip to content

Commit 4e1a970

Browse files
committed
allow tests to run in headless mode in CI
1 parent c377f3d commit 4e1a970

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

.github/workflows/test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,4 @@ jobs:
3232
run: |
3333
npm install -g npm@latest
3434
npm --version
35-
nox -s test
35+
nox -s test -- --headless

noxfile.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def format(session: Session) -> None:
3939
def test(session: Session) -> None:
4040
"""Run the complete test suite"""
4141
session.install("--upgrade", "pip", "setuptools", "wheel")
42-
session.notify("test_suite")
42+
session.notify("test_suite", posargs=session.posargs)
4343
session.notify("test_style")
4444

4545

@@ -51,6 +51,7 @@ def test_suite(session: Session) -> None:
5151

5252
session.chdir(HERE / "tests")
5353
session.env["IDOM_DEBUG_MODE"] = "1"
54+
session.env["SELENIUM_HEADLESS"] = str(int("--headless" in session.posargs))
5455
session.run("python", "manage.py", "build_js")
5556
session.run("python", "manage.py", "test")
5657

tests/test_app/tests.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import os
2+
13
from channels.testing import ChannelsLiveServerTestCase
24
from selenium import webdriver
35
from selenium.webdriver.support.ui import WebDriverWait
@@ -27,7 +29,9 @@ def test_counter(self):
2729

2830

2931
def make_driver(page_load_timeout, implicit_wait_timeout):
30-
driver = webdriver.Chrome()
32+
options = webdriver.ChromeOptions()
33+
options.headless = bool(int(os.environ.get("SELENIUM_HEADLESS", 0)))
34+
driver = webdriver.Chrome(options=options)
3135
driver.set_page_load_timeout(page_load_timeout)
3236
driver.implicitly_wait(implicit_wait_timeout)
3337
return driver

0 commit comments

Comments
 (0)