diff --git a/web/pgadmin/feature_tests/xss_checks_roles_control_test.py b/web/pgadmin/feature_tests/xss_checks_roles_control_test.py index 6ee874767..10818a8ae 100644 --- a/web/pgadmin/feature_tests/xss_checks_roles_control_test.py +++ b/web/pgadmin/feature_tests/xss_checks_roles_control_test.py @@ -6,6 +6,7 @@ # This software is released under the PostgreSQL Licence # ########################################################################## +import random from regression.python_test_utils import test_utils from regression.feature_utils.base_feature_test import BaseFeatureTest @@ -19,35 +20,39 @@ class CheckRoleMembershipControlFeatureTest(BaseFeatureTest): dict()) ] + role = "" def before(self): with test_utils.Database(self.server) as (connection, _): if connection.server_version < 90100: self.skipTest( "Membership is not present in Postgres below PG v9.1") + # create role + self.role = "test_role" + str(random.randint(10000, 65535)) + # Some test function is needed for debugger test_utils.create_role(self.server, "postgres", - "test_role") + self.role) test_utils.create_role(self.server, "postgres", "

test

") def runTest(self): self.page.wait_for_spinner_to_disappear() self.page.add_server(self.server) - self._role_node_expandable() + self._role_node_expandable(self.role) self._check_role_membership_control() def after(self): self.page.remove_server(self.server) test_utils.drop_role(self.server, "postgres", - "test_role") + self.role) test_utils.drop_role(self.server, "postgres", "

test

") - def _role_node_expandable(self): + def _role_node_expandable(self, role): self.page.toggle_open_server(self.server['name']) self.page.toggle_open_tree_item('Login/Group Roles') - self.page.select_tree_item("test_role") + self.page.select_tree_item(role) def _check_role_membership_control(self): self.page.driver.find_element_by_link_text("Object").click() diff --git a/web/pgadmin/tools/sqleditor/tests/test_sql_ascii_encoding.py b/web/pgadmin/tools/sqleditor/tests/test_sql_ascii_encoding.py index 4c119de22..a63a2dead 100644 --- a/web/pgadmin/tools/sqleditor/tests/test_sql_ascii_encoding.py +++ b/web/pgadmin/tools/sqleditor/tests/test_sql_ascii_encoding.py @@ -8,6 +8,8 @@ ########################################################################## import sys +import random + from pgadmin.utils.route import BaseTestGenerator from regression.python_test_utils import test_utils from pgadmin.utils import server_utils @@ -56,7 +58,8 @@ class TestSQLASCIIEncoding(BaseTestGenerator): ] def setUp(self): - self.encode_db_name = 'test_encoding_' + self.db_encoding + self.encode_db_name = 'test_encoding_' + self.db_encoding + \ + str(random.randint(1000, 65535)) self.encode_sid = self.server_information['server_id'] server_con = server_utils.connect_server(self, self.encode_sid) diff --git a/web/regression/feature_utils/pgadmin_page.py b/web/regression/feature_utils/pgadmin_page.py index f531369cd..96f60b379 100644 --- a/web/regression/feature_utils/pgadmin_page.py +++ b/web/regression/feature_utils/pgadmin_page.py @@ -182,7 +182,7 @@ class PgadminPage: ActionChains(self.driver).double_click(item).perform() def toggle_open_tables_node(self): - """The function will be used for opening Trees node only""" + """The function will be used for opening Tables node only""" # get the element which contains 'aria-expanded' info tables_expansion_ele = self.find_by_xpath("//div[div[div[div[div[div" @@ -479,7 +479,7 @@ class PgadminPage: return element_selector(self.driver) def _wait_for(self, waiting_for_message, condition_met_function, - timeout=None): + timeout=3): if timeout is None: timeout = self.timeout return WebDriverWait(self.driver, timeout, 0.01).until( diff --git a/web/regression/python_test_utils/test_gui_helper.py b/web/regression/python_test_utils/test_gui_helper.py index 2e8bffcbe..2703cc8af 100644 --- a/web/regression/python_test_utils/test_gui_helper.py +++ b/web/regression/python_test_utils/test_gui_helper.py @@ -26,8 +26,19 @@ def close_bgprocess_popup(tester): # In cases where restore div is not closed (sometime due to some error) try: if tester.driver.find_element_by_xpath( - "//div[@class='card-header bg-primary d-flex']/div[contains(" - "text(), 'Restoring backup')]"): + "//div[@class='card-header bg-primary d-flex']/div" + "[contains(text(), 'Restoring backup')]"): + tester.driver.find_element_by_css_selector( + ".btn.btn-sm-sq.btn-primary.pg-bg-close > i").click() + except Exception: + pass + + # In cases where maintenance window is not closed (sometime due to some + # error) + try: + if tester.driver.find_element_by_xpath( + "//div[@class='card-header bg-primary d-flex']/div" + "[contains(text(), 'Maintenance')]"): tester.driver.find_element_by_css_selector( ".btn.btn-sm-sq.btn-primary.pg-bg-close > i").click() except Exception: diff --git a/web/regression/runtests.py b/web/regression/runtests.py index 7e7fabf81..6c10cac33 100644 --- a/web/regression/runtests.py +++ b/web/regression/runtests.py @@ -219,6 +219,9 @@ def get_test_modules(arguments): options.add_argument("--window-size=1280,1024") driver = webdriver.Chrome(chrome_options=options) + # maximize browser window + driver.maximize_window() + app_starter = AppStarter(driver, config) app_starter.start_app()