diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index f0269cdc..cbe53fb4 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -95,6 +95,7 @@ jobs: export CONTAINER_ID=$container_id export JUPYTER_HOST=http://localhost:8888 export JUPYTER_TOKEN=secret + export VNCSERVER=${{ matrix.vncserver }} python -mpytest -vs diff --git a/tests/reference/desktop-turbovnc.png b/tests/reference/desktop-turbovnc.png new file mode 100644 index 00000000..8fbbae68 Binary files /dev/null and b/tests/reference/desktop-turbovnc.png differ diff --git a/tests/reference/desktop.png b/tests/reference/desktop.png index 007d8282..6d06a152 100644 Binary files a/tests/reference/desktop.png and b/tests/reference/desktop.png differ diff --git a/tests/test_browser.py b/tests/test_browser.py index 7d4b3038..f5612ff4 100644 --- a/tests/test_browser.py +++ b/tests/test_browser.py @@ -12,6 +12,7 @@ CONTAINER_ID = getenv("CONTAINER_ID", "test") JUPYTER_HOST = getenv("JUPYTER_HOST", "http://localhost:8888") JUPYTER_TOKEN = getenv("JUPYTER_TOKEN", "secret") +VNCSERVER = getenv("VNCSERVER") def compare_screenshot(test_image, threshold=2): @@ -21,6 +22,8 @@ def compare_screenshot(test_image, threshold=2): # e.g. for 24 bit images (8 bit RGB pixels) threshold=1 means a maximum # difference of 1 bit per pixel per channel reference = Image.open(HERE / "reference" / "desktop.png") + if VNCSERVER == "turbovnc": + reference = Image.open(HERE / "reference" / "desktop-turbovnc.png") test = Image.open(test_image) # Absolute difference @@ -53,7 +56,7 @@ def test_desktop(browser): page1.wait_for_timeout(5000) # Use a non temporary folder so we can check it manually if necessary screenshot = Path("screenshots") / "desktop.png" - page1.locator("canvas").screenshot(path=screenshot) + page1.locator("body").screenshot(path=screenshot) # Open clipboard, enter random text, close clipboard clipboard_text = str(uuid4())