Skip to content

Commit e4bc144

Browse files
committed
Add Selenium test with different resolution
1 parent 3ad94bc commit e4bc144

File tree

2 files changed

+38
-5
lines changed

2 files changed

+38
-5
lines changed

tests/conftest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def glances_webserver():
7474

7575

7676
@pytest.fixture(scope="session")
77-
def firefox_browser():
77+
def web_browser():
7878
"""Init Firefox browser."""
7979
opt = ChromeOptions()
8080
opt.add_argument("--headless")

tests/test_webui.py

+37-4
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,49 @@
1111

1212
import os
1313
import tempfile
14+
import time
1415

1516
import pytest
1617
from selenium.webdriver.common.by import By
1718

19+
SCREENSHOT_RESOLUTIONS = [
20+
# PC
21+
(640, 480),
22+
(800, 600),
23+
(1024, 768),
24+
(1600, 900),
25+
(1280, 1024),
26+
(1600, 1200),
27+
(1920, 1200),
28+
# IPHONE
29+
(750, 1334), # 8
30+
(1080, 1920), # 8 Plus
31+
(1242, 2208), # XS
32+
(1125, 2436), # 11 Pro
33+
(1179, 2556), # 15
34+
(1320, 2868), # 16 Pro Max
35+
# PIXEL Phone
36+
(1080, 2400), # Pixel 7
37+
]
38+
1839

1940
@pytest.fixture(scope="module")
20-
def glances_homepage(firefox_browser):
21-
firefox_browser.get("http://localhost:61234")
22-
firefox_browser.save_screenshot(os.path.join(tempfile.gettempdir(), "glances.png"))
23-
return firefox_browser
41+
def glances_homepage(web_browser):
42+
time.sleep(3)
43+
web_browser.get("http://localhost:61234")
44+
return web_browser
45+
46+
47+
def test_screenshot(glances_webserver, glances_homepage):
48+
"""
49+
Test Glances home page screenshot.
50+
"""
51+
glances_webserver is not None
52+
for resolution in SCREENSHOT_RESOLUTIONS:
53+
glances_homepage.set_window_size(*resolution)
54+
glances_homepage.save_screenshot(
55+
os.path.join(tempfile.gettempdir(), f"glances-{'-'.join(map(str, list(resolution)))}.png")
56+
)
2457

2558

2659
def test_loading_time(glances_webserver, glances_homepage):

0 commit comments

Comments
 (0)