mirror of
https://github.com/bunkerity/bunkerweb
synced 2026-05-24 09:28:37 +00:00
update tests
This commit is contained in:
parent
cbb32e7688
commit
83f425ddfe
6 changed files with 24 additions and 17 deletions
|
|
@ -24,12 +24,10 @@ try:
|
|||
assert_button_click(DRIVER, "//button[@data-tab-handler='password']")
|
||||
assert_button_click(DRIVER, "//button[@data-tab-handler='totp']")
|
||||
|
||||
log_info("Looking that all mobile tabs are working ...")
|
||||
log_info("Looking that all mobile tabs are working programmatically ...")
|
||||
|
||||
assert_button_click(DRIVER, "//button[@data-tab-handler-mobile='global']")
|
||||
assert_button_click(DRIVER, "//button[@data-tab-handler-mobile='username']")
|
||||
assert_button_click(DRIVER, "//button[@data-tab-handler-mobile='password']")
|
||||
assert_button_click(DRIVER, "//button[@data-tab-handler-mobile='totp']")
|
||||
DRIVER.execute_script(f"""document.querySelector('button[data-tab-handler-mobile="username"]').click()""")
|
||||
DRIVER.execute_script(f"""document.querySelector('button[data-tab-handler-mobile="global"]').click()""")
|
||||
|
||||
log_info("Start username tab ...")
|
||||
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ location /hello {
|
|||
|
||||
assert_button_click(DRIVER, "//div[@data-configs-element='server-http' and @data-_type='folder']")
|
||||
assert_button_click(DRIVER, "//div[@data-path='/etc/bunkerweb/configs/server-http/app1.example.com' and @data-_type='folder']")
|
||||
assert_button_click(DRIVER, "//li[@data-configs-add-file='']/button")
|
||||
assert_button_click(DRIVER, "//button[@data-configs-add-file='']")
|
||||
|
||||
configs_modal_path_input = safe_get_element(DRIVER, By.XPATH, "//div[@data-configs-modal-path='']/input")
|
||||
assert isinstance(configs_modal_path_input, WebElement), "The path input is not an instance of WebElement"
|
||||
|
|
|
|||
|
|
@ -15,6 +15,11 @@ try:
|
|||
log_info("Navigating to the global config page ...")
|
||||
access_page(DRIVER, "/html/body/aside[1]/div[1]/div[3]/ul/li[3]/a", "global config")
|
||||
|
||||
log_info("Looking that tabs are working programmatically ...")
|
||||
|
||||
DRIVER.execute_script(f"""document.querySelector('button[data-tab-handler-mobile="blacklist"]').click()""")
|
||||
DRIVER.execute_script(f"""document.querySelector('button[data-tab-handler="general"]').click()""")
|
||||
|
||||
log_info("Trying filters ...")
|
||||
|
||||
# Set keyword with no matching settings
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ try:
|
|||
log_error("No reports found, exiting ...")
|
||||
exit(1)
|
||||
|
||||
log_info("Trying to filter the reports ...")
|
||||
log_info("Reports found, trying to filter the reports ...")
|
||||
|
||||
# Test select filters
|
||||
select_filters = [
|
||||
|
|
|
|||
|
|
@ -271,6 +271,8 @@ try:
|
|||
log_error(f"The service hasn't been created ({len(services)} services found), exiting ...")
|
||||
exit(1)
|
||||
|
||||
log_info(f"We need 4 services to test filter, currently {len(services)}")
|
||||
|
||||
server_name_elem = safe_get_element(DRIVER, By.XPATH, "//div[@data-services-service='app3.example.com']//h5")
|
||||
assert isinstance(server_name_elem, WebElement), "Server name element is not a WebElement"
|
||||
if server_name_elem.text.strip() != "app3.example.com":
|
||||
|
|
@ -337,7 +339,7 @@ try:
|
|||
log_exception("Services not found, exiting ...")
|
||||
exit(1)
|
||||
|
||||
if len(services) > 2:
|
||||
if len(services) > 4:
|
||||
log_error(f"The service hasn't been deleted ({len(services)} services found), exiting ...")
|
||||
exit(1)
|
||||
|
||||
|
|
|
|||
|
|
@ -19,10 +19,12 @@ def safe_get_element(driver, by: str, selector: str, *, driver_wait: Optional[We
|
|||
el = None
|
||||
for x in range(wait):
|
||||
try:
|
||||
el = driver.execute_script(f"{selector}")
|
||||
if el or len(el) > 0:
|
||||
el = driver.execute_script(f"return {selector} || null")
|
||||
if not el:
|
||||
sleep(1)
|
||||
continue
|
||||
else:
|
||||
break
|
||||
sleep(1)
|
||||
except:
|
||||
el = None
|
||||
# Case no el found
|
||||
|
|
@ -112,7 +114,7 @@ def access_page(driver, button: Union[str, WebElement], name: str, message: bool
|
|||
if not clicked:
|
||||
clicked = assert_button_click(driver, button)
|
||||
|
||||
title: Union[WebElement, List[WebElement]] = safe_get_element(driver, By.XPATH, "/html/body/div/header/div/nav/h6", driver_wait=WebDriverWait(driver, 45))
|
||||
title: Union[WebElement, List[WebElement]] = safe_get_element(driver, By.XPATH, "/html/body/div[3]/header/div/nav/h6", driver_wait=WebDriverWait(driver, 45))
|
||||
assert isinstance(title, WebElement), "Title is not a WebElement"
|
||||
|
||||
if title.text != name.title():
|
||||
|
|
@ -167,19 +169,19 @@ def wait_for_service(service: str = "www.example.com"):
|
|||
def verify_select_filters(driver, page_name: str, filter_items: list):
|
||||
for item in filter_items:
|
||||
# Update in order to get no match
|
||||
driver.execute_script(f"document.querySelector('[data-{page_name}-setting-select-dropdown-btn='{item['id']}'][value='{item['value']}']').setAttribute('value', '{item['update_value']}')")
|
||||
select_btn = safe_get_element(driver, "js", f"document.querySelector('[data-{page_name}-setting-select-dropdown-btn='{item['id']}'][value='{item['update_value']}']')")
|
||||
driver.execute_script(f"""document.querySelector("[data-{page_name}-setting-select-dropdown-btn='{item["id"]}'][value='{item["value"]}']').setAttribute('value', '{item["update_value"]}")""")
|
||||
select_btn = safe_get_element(driver, "js", f"""document.querySelector("[data-{page_name}-setting-select-dropdown-btn='{item["id"]}'][value='{item["update_value"]}']")""")
|
||||
select_btn.click()
|
||||
sleep(0.1)
|
||||
|
||||
# Verify
|
||||
bans_hidden = safe_get_element(driver, "js", f'document.querySelectorAll("[data-{page_name}-list-item][class*="hidden"]")')
|
||||
bans_hidden = safe_get_element(driver, "js", f"""document.querySelectorAll("[data-{page_name}-list-item][class*='hidden']")""")
|
||||
if len(bans_hidden) == 0:
|
||||
log_error(f"The {item['name']} filter is not working, exiting ...")
|
||||
exit(1)
|
||||
|
||||
# Reset
|
||||
driver.execute_script(f"document.querySelector('[data-{page_name}-setting-select-dropdown-btn='{item['id']}'][value='{item['update_value']}']').setAttribute('value', '{item['value']}')")
|
||||
select_btn_reset = safe_get_element(driver, "js", f"document.querySelector('[data-{page_name}-setting-select-dropdown-btn='{item['id']}'][value='{item['value']}']')")
|
||||
driver.execute_script(f"""document.querySelector("[data-{page_name}-setting-select-dropdown-btn='{item["id"]}'][value='{item["update_value"]}']').setAttribute('value', '{item["value"]}")""")
|
||||
select_btn_reset = safe_get_element(driver, "js", f"""document.querySelector("[data-{page_name}-setting-select-dropdown-btn='{item["id"]}'][value='{item["value"]}']")""")
|
||||
select_btn_reset.click()
|
||||
sleep(0.1)
|
||||
|
|
|
|||
Loading…
Reference in a new issue