From 81ca52f3b0dc023d9920da05b5e788eb1dd00eba Mon Sep 17 00:00:00 2001 From: Tira Odhner Date: Tue, 21 Mar 2017 14:52:33 -0400 Subject: [PATCH 3/3] Feature tests work for Greenplum --- .../copy_selected_columns_feature_test.py | 11 +++++++++- ...n_feature_test.py => table_ddl_feature_test.py} | 25 +++++++--------------- web/regression/feature_utils/pgadmin_page.py | 5 ++++- 3 files changed, 22 insertions(+), 19 deletions(-) rename web/pgadmin/feature_tests/{template_selection_feature_test.py => table_ddl_feature_test.py} (66%) diff --git a/web/pgadmin/feature_tests/copy_selected_columns_feature_test.py b/web/pgadmin/feature_tests/copy_selected_columns_feature_test.py index 89a1d2b4..7ec7e832 100644 --- a/web/pgadmin/feature_tests/copy_selected_columns_feature_test.py +++ b/web/pgadmin/feature_tests/copy_selected_columns_feature_test.py @@ -1,3 +1,12 @@ +########################################################################## +# +# pgAdmin 4 - PostgreSQL Tools +# +# Copyright (C) 2013 - 2017, The pgAdmin Development Team +# This software is released under the PostgreSQL Licence +# +########################################################################## + import pyperclip import time @@ -28,7 +37,7 @@ class CopySelectedColumnsFeatureTest(BaseFeatureTest): self.page.find_by_partial_link_text("Query Tool").click() self.page.click_tab('Query-1') time.sleep(5) - ActionChains(self.page.driver).send_keys("SELECT * FROM test_table").perform() + ActionChains(self.page.driver).send_keys("SELECT * FROM test_table ORDER BY some_column").perform() self.page.driver.switch_to_frame(self.page.driver.find_element_by_tag_name("iframe")) self.page.find_by_id("btn-flash").click() diff --git a/web/pgadmin/feature_tests/template_selection_feature_test.py b/web/pgadmin/feature_tests/table_ddl_feature_test.py similarity index 66% rename from web/pgadmin/feature_tests/template_selection_feature_test.py rename to web/pgadmin/feature_tests/table_ddl_feature_test.py index 3d7e2777..2f364437 100644 --- a/web/pgadmin/feature_tests/template_selection_feature_test.py +++ b/web/pgadmin/feature_tests/table_ddl_feature_test.py @@ -7,13 +7,11 @@ # ########################################################################## -from selenium.webdriver import ActionChains - from regression import test_utils from regression.feature_utils.base_feature_test import BaseFeatureTest -class TemplateSelectionFeatureTest(BaseFeatureTest): +class TableDdlFeatureTest(BaseFeatureTest): def before(self): connection = test_utils.get_db_connection(self.server['db'], self.server['username'], @@ -34,25 +32,18 @@ class TemplateSelectionFeatureTest(BaseFeatureTest): self.page.toggle_open_tree_item('acceptance_test_db') self.page.toggle_open_tree_item('Schemas') self.page.toggle_open_tree_item('public') - self.page.find_by_xpath("//*[@id='tree']//*[@class='aciTreeText' and .='Trigger Functions']").click() - self.page.find_by_partial_link_text("Object").click() - ActionChains(self.page.driver) \ - .move_to_element(self.page.driver.find_element_by_link_text("Create")) \ - .perform() - self.page.find_by_partial_link_text("Trigger function...").click() - self.page.fill_input_by_field_name("name", "test-trigger-function") - self.page.find_by_partial_link_text("Definition").click() - self.page.fill_codemirror_area_with("some-trigger-function-content") - self.page.find_by_partial_link_text("SQL").click() - - self.page.find_by_xpath("//*[contains(@class,'CodeMirror-lines') and contains(.,'LEAKPROOF')]") + self.page.toggle_open_tree_item('Tables') + self.page.select_tree_item('test_table') + self.page.click_tab("SQL") + + self.page.find_by_xpath( + "//*[contains(@class,'CodeMirror-lines') and contains(.,'CREATE TABLE public.test_table')]") def after(self): - self.page.find_by_xpath("//button[contains(.,'Cancel')]").click() self.page.remove_server(self.server) connection = test_utils.get_db_connection(self.server['db'], self.server['username'], self.server['db_password'], self.server['host'], self.server['port']) - test_utils.drop_database(connection, "acceptance_test_db") \ No newline at end of file + test_utils.drop_database(connection, "acceptance_test_db") diff --git a/web/regression/feature_utils/pgadmin_page.py b/web/regression/feature_utils/pgadmin_page.py index 9060fb0f..c1995966 100644 --- a/web/regression/feature_utils/pgadmin_page.py +++ b/web/regression/feature_utils/pgadmin_page.py @@ -72,6 +72,9 @@ class PgadminPage: self.find_by_partial_link_text("Delete/Drop").click() self.click_modal_ok() + def select_tree_item(self, tree_item_text): + self.find_by_xpath("//*[@id='tree']//*[.='" + tree_item_text + "' and @class='aciTreeItem']").click() + def toggle_open_tree_item(self, tree_item_text): self.find_by_xpath("//*[@id='tree']//*[.='" + tree_item_text + "']/../*[@class='aciTreeButton']").click() @@ -83,7 +86,7 @@ class PgadminPage: def find_by_partial_link_text(self, link_text): return self._wait_for( - 'link with text "#{0}"'.format(link_text), + 'link with text "{0}"'.format(link_text), EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, link_text)) ) -- 2.12.0