pgadmin4/web/regression/python_test_utils/test_gui_helper.py
Shubham Agarwal 5093e6db5e Fixed following issues for feature test:
1. Modified the get_chromedriver utility for supporting python version below 3.5.
2. Handled some exceptions getting intermittently on some databases.
3. Generalized some functions with additional parameters.
4. Disabled the auto-expansion of the children nodes for maintaining the synchronization.
2019-12-03 19:35:48 +05:30

61 lines
2.3 KiB
Python

##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2019, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
from regression.feature_utils.locators import NavMenuLocators
def close_bgprocess_popup(tester):
"""
Allows us to close the background process popup window
"""
# 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"))
except Exception:
tester.driver.find_element_by_css_selector(
".btn.btn-sm-sq.btn-primary.pg-bg-close > i").click()
# 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(
"//div[@class='card-header bg-primary d-flex']/div"
"[contains(text(), 'Restoring backup')]"))
except Exception:
tester.driver.find_element_by_css_selector(
".btn.btn-sm-sq.btn-primary.pg-bg-close > i").click()
# 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(
"//div[@class='card-header bg-primary d-flex']/div"
"[contains(text(), 'Maintenance')]"))
except Exception:
tester.driver.find_element_by_css_selector(
".btn.btn-sm-sq.btn-primary.pg-bg-close > i").click()
def close_process_watcher(tester):
attempt = 10
while attempt > 0:
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:
attempt -= 1