Update tests

This commit is contained in:
2025-05-16 17:38:21 +02:00
parent 6daceef913
commit fd2922fde8
19 changed files with 1137 additions and 17 deletions

View File

@ -0,0 +1,63 @@
"""
Collection of waiting statements.
"""
from selenium.webdriver.remote.webdriver import WebDriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
def wait_for_url_change(driver: WebDriver, old_url: str, timeout: int = 10) -> None:
WebDriverWait(driver, timeout).until(lambda d: d.current_url != old_url)
def wait_until_url_contains(driver: WebDriver, text: str, timeout: int = 10) -> None:
WebDriverWait(driver, timeout).until(lambda d: text in d.current_url)
def wait_for_element(driver: WebDriver, by: str, value: str, timeout: int = 10):
return WebDriverWait(driver, timeout).until(
EC.presence_of_element_located((by, value))
)
def wait_for_element_with_text(
driver: WebDriver, tag: str, text: str, timeout: int = 10
):
return WebDriverWait(driver, timeout).until(
EC.text_to_be_present_in_element((By.TAG_NAME, tag), text)
)
def wait_for_clickable(driver: WebDriver, by: str, value: str, timeout: int = 10):
return WebDriverWait(driver, timeout).until(EC.element_to_be_clickable((by, value)))
def wait_for_element_to_be_visisble(driver: WebDriver, id: str, timeout: int = 10):
return WebDriverWait(driver, timeout).until(
EC.visibility_of_element_located((By.ID, id))
)
def wait_for_element_to_be_disabled(
driver: WebDriver, by: str, value: str, timeout: int = 10
):
"""Wait for an element to be disabled."""
return WebDriverWait(driver, timeout).until(
EC.none_of(EC.element_to_be_clickable((by, value)))
)
def wait_for_alert(driver: WebDriver, timeout: int = 10):
"""Wait for an alert."""
return WebDriverWait(driver, timeout).until(lambda d: d.switch_to.alert)
def wait_for_element_to_disappear(
driver: WebDriver, by: str, value: str, timeout: int = 10
):
"""Wait for an element to disappear."""
return WebDriverWait(driver, timeout).until(
EC.none_of(EC.presence_of_element_located((by, value)))
)