def search(driver: WebDriver, phrase: str): search_input = find_element(driver, find_selector_by_name(SELECTORS, "search box")) search_button = find_element( driver, find_selector_by_name(SELECTORS, "search button")) search_input.clear() search_input.send_keys(phrase) search_button.click()
def should_see_office_details(driver: WebDriver, trade_office: str, city: str): office_selector = find_selector_by_name(SELECTORS, "office name") office = find_element(driver, office_selector) error = f"Expected to find details for '{trade_office}' but got {office.text}" assert trade_office.lower() in office.text.lower(), error address_selector = find_selector_by_name(SELECTORS, "office address") address = find_element(driver, address_selector) error = (f"Expected to find details for trade office in '{city}' but got " f"{address.text}") assert city.lower() in address.text.lower(), error
def should_see_it_on(driver: WebDriver, page: ModuleType): take_screenshot(driver, NAME + page.NAME) selector = find_selector_by_name(page.SELECTORS, "language selector") language_selector = find_element(driver, selector, element_name="language selector") with assertion_msg(f"Language selector is not visible on {driver.current_url}"): assert language_selector.is_displayed() logging.debug(f"Language selector is visible on {driver.current_url}")
def open(driver: WebDriver, page: ModuleType, *, with_keyboard: bool = False): selector = find_selector_by_name(page.SELECTORS, "language selector") language_selector = find_element(driver, selector, element_name="language selector") if with_keyboard: language_selector.send_keys(Keys.ENTER) else: language_selector.click()
def get_form_details(driver: WebDriver) -> dict: elements = find_elements(driver, SELECTED_REGIONS) result = {"regions": []} for element in elements: region_name = element.get_property("value") result["regions"].append(region_name) result["organisation name"] = "AUTOMATED TESTS" result["given mane"] = find_element( driver, find_selector_by_name(SELECTORS, "given name") ).get_property("value") result["family mane"] = find_element( driver, find_selector_by_name(SELECTORS, "family name") ).get_property("value") result["email"] = find_element( driver, find_selector_by_name(SELECTORS, "email") ).get_property("value") return result
def navigate_through_links_with_keyboard(driver: WebDriver, page: ModuleType): selector = find_selector_by_name(page.SELECTORS, "language selector") language_selector = find_element(driver, selector, element_name="language selector") options = language_selector.find_elements_by_tag_name("option") for _ in options: language_selector.send_keys(Keys.DOWN) for _ in options: language_selector.send_keys(Keys.UP) with assertion_msg(f"Language selector is not visible on {driver.current_url}"): assert language_selector.is_displayed()
def search(driver: WebDriver, *, keyword: str = None, sector: str = None): search_box_selector = find_selector_by_name(SELECTORS, "search box") input_field = find_element(driver, search_box_selector, element_name="Search box", wait_for_it=False) input_field.clear() input_field.send_keys(keyword) take_screenshot(driver, NAME + " after entering the keyword") find_and_click_on_page_element(driver, SELECTORS, element_name="search button", wait_for_it=False) take_screenshot(driver, NAME + " after submitting the search form")
def close(driver: WebDriver, page: ModuleType): selector = find_selector_by_name(page.SELECTORS, "language selector") language_selector = find_element(driver, selector, element_name="language selector") language_selector.send_keys(Keys.ESCAPE)
def go_to_sign_out(driver: WebDriver): sign_out_link = find_element( driver, find_selector_by_name(DOMESTIC_HEADER, "sign out")) with wait_for_page_load_after_action(driver): sign_out_link.click()