Files
pgadmin4/web/regression/python_test_utils/test_gui_helper.py
T

61 lines
2.3 KiB
Python
Raw Normal View History

2018-10-08 11:09:30 +01:00
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
2021-01-04 15:34:45 +05:30
# Copyright (C) 2013 - 2021, The pgAdmin Development Team
2018-10-08 11:09:30 +01:00
# This software is released under the PostgreSQL Licence
#
##########################################################################
2019-11-11 10:49:00 +05:30
from regression.feature_utils.locators import NavMenuLocators
2018-10-08 11:09:30 +01:00
def close_bgprocess_popup(tester):
"""
2019-05-23 09:31:52 +01:00
Allows us to close the background process popup window
2018-10-08 11:09:30 +01:00
"""
# In cases where backup div is not closed (sometime due to some error)
try:
tester.page.wait_for_element_to_disappear(
lambda x: tester.driver.find_element_by_xpath(
".ajs-message.ajs-bg-bgprocess.ajs-visible"))
2018-10-08 11:09:30 +01:00
except Exception:
tester.driver.find_element_by_css_selector(
NavMenuLocators.process_watcher_error_close_xpath).click()
2018-10-08 11:09:30 +01:00
# In cases where restore div is not closed (sometime due to some error)
try:
tester.page.wait_for_element_to_disappear(
lambda x: tester.driver.find_element_by_xpath(
2019-04-05 12:25:03 +05:30
"//div[@class='card-header bg-primary d-flex']/div"
"[contains(text(), 'Restoring backup')]"))
2019-04-05 12:25:03 +05:30
except Exception:
tester.driver.find_element_by_css_selector(
NavMenuLocators.process_watcher_error_close_xpath).click()
2019-04-05 12:25:03 +05:30
# In cases where maintenance window is not closed (sometime due to some
# error)
try:
tester.page.wait_for_element_to_disappear(
lambda x: tester.driver.find_element_by_xpath(
2019-04-05 12:25:03 +05:30
"//div[@class='card-header bg-primary d-flex']/div"
"[contains(text(), 'Maintenance')]"))
2018-10-08 11:09:30 +01:00
except Exception:
tester.driver.find_element_by_css_selector(
NavMenuLocators.process_watcher_error_close_xpath).click()
2019-11-11 10:49:00 +05:30
def close_process_watcher(tester):
attempt = 10
2019-11-11 10:49:00 +05:30
while attempt > 0:
2019-12-03 19:35:48 +05:30
try:
if not tester.page.check_if_element_exist_by_xpath(
NavMenuLocators.process_watcher_close_button_xpath, 1):
break
else:
close_btn = tester.page.find_by_xpath(
NavMenuLocators.process_watcher_close_button_xpath)
close_btn.click()
attempt -= 1
except Exception:
2019-11-11 10:49:00 +05:30
attempt -= 1