tests: test_spa: assure that selected version is stable release
[web/firmware-selector-openwrt-org.git] / tests / test_spa.py
1 from selenium import webdriver
2 from selenium.webdriver.support.ui import Select
3 from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
4
5
6 def init_driver():
7 driver = webdriver.Remote(
8 command_executor="http://localhost:4444/wd/hub",
9 desired_capabilities=DesiredCapabilities.FIREFOX,
10 )
11 return driver
12
13
14 def test_spa():
15 driver = init_driver()
16 driver.get("http://localhost:8000")
17 assert "OpenWrt Firmware Selector" in driver.title
18
19 versions = Select(driver.find_element_by_id("versions"))
20 selected_version = versions.first_selected_option.get_attribute("value")
21 assert "snapshot" not in selected_version.lower()
22
23 model = driver.find_element_by_id("models")
24 model.clear()
25 model.send_keys("a7 v5")
26
27 models = driver.find_element_by_id("models-autocomplete-list")
28 assert "TP-Link Archer A7 v5" in models.text
29
30 message = driver.find_element_by_xpath("/html/body/div/div/p")
31 assert "use the input below to download firmware" in message.text
32
33 lang = Select(driver.find_element_by_id("language-selection"))
34
35 lang.select_by_visible_text("Deutsch")
36 message = driver.find_element_by_xpath("/html/body/div/div/p")
37 assert "benutze die Eingabe um die passende" in message.text
38
39 lang.select_by_value("ca")
40 message = driver.find_element_by_xpath("/html/body/div/div/p")
41 assert "servir el formulari de sota per seleccionar" in message.text
42
43 lang.select_by_visible_text("Polski")
44 message = driver.find_element_by_xpath("/html/body/div/div/p")
45 assert "pola poniżej żeby znaleźć obraz" in message.text