diff --git a/web/pgadmin/feature_tests/pg_utilities_backup_restore_test.py b/web/pgadmin/feature_tests/pg_utilities_backup_restore_test.py index f02c19a3d..9a6c7ec8b 100644 --- a/web/pgadmin/feature_tests/pg_utilities_backup_restore_test.py +++ b/web/pgadmin/feature_tests/pg_utilities_backup_restore_test.py @@ -88,7 +88,7 @@ class PGUtilitiesBackupFeatureTest(BaseFeatureTest): NavMenuLocators.process_watcher_alertfier)) self.page.wait_for_element_to_disappear( lambda driver: driver.find_element( - By.CSS_SELECTOR, ".loading-logs"), 18) + By.CSS_SELECTOR, ".loading-logs"), 15) expected_backup_success_msg = "Successfully completed." self.assertEqual(status, expected_backup_success_msg) @@ -204,13 +204,14 @@ class PGUtilitiesBackupFeatureTest(BaseFeatureTest): element.click() self.page.fill_input_by_field_name( NavMenuLocators.backup_filename_txt_box_name, - "test_backup", loose_focus=True) + "test_backup", input_keys=True, loose_focus=True) # Click on the take Backup button take_bckup = self.page.find_by_xpath( NavMenuLocators.backup_btn_xpath) click = True - while click: + retry = 3 + while click and retry > 0: try: take_bckup.click() if self.page.wait_for_element_to_disappear( @@ -219,6 +220,7 @@ class PGUtilitiesBackupFeatureTest(BaseFeatureTest): NavMenuLocators.backup_filename_txt_box_name)): click = False except Exception: + retry -= 1 pass def initiate_restore(self): diff --git a/web/regression/feature_utils/locators.py b/web/regression/feature_utils/locators.py index 3c728ca9c..110e1425e 100644 --- a/web/regression/feature_utils/locators.py +++ b/web/regression/feature_utils/locators.py @@ -78,7 +78,7 @@ class NavMenuLocators: restore_file_name_txt_box_name = "file" backup_btn_xpath = \ - "//button[contains(@class,'fa-save')and contains(.,'Backup')]" + "//button[ contains(.,'Backup')]" bcg_process_status_alertifier_css = \ ".ajs-message.ajs-bg-bgprocess.ajs-visible" diff --git a/web/regression/feature_utils/pgadmin_page.py b/web/regression/feature_utils/pgadmin_page.py index 630d05ef6..996118b58 100644 --- a/web/regression/feature_utils/pgadmin_page.py +++ b/web/regression/feature_utils/pgadmin_page.py @@ -384,12 +384,17 @@ class PgadminPage: :param tree_node_exp_check_xpath: :return: True is tree_node_exp_check_xpath present in DOM else false """ - webdriver.ActionChains(self.driver).double_click( - tree_node_web_element).perform() - if self.check_if_element_exist_by_xpath(tree_node_exp_check_xpath): - return True - else: - return False + retry = 2 + while retry > 0: + webdriver.ActionChains(self.driver).double_click( + tree_node_web_element).perform() + if self.check_if_element_exist_by_xpath(tree_node_exp_check_xpath): + return True + elif retry == 1: + return False + else: + time.sleep(1) + retry -= 1 def expand_server_group_node(self, server_group_name): """