From 7b2c285289be2f6083e462e851bd8eb062f7f74f Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Mon, 4 Oct 2021 15:29:54 -0700 Subject: [PATCH 01/15] Added test_create_folder_include_global_view --- pages/FolderPage.py | 9 ++++++++- tests/test_folder_page.py | 22 ++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/pages/FolderPage.py b/pages/FolderPage.py index 035af05..19f0467 100644 --- a/pages/FolderPage.py +++ b/pages/FolderPage.py @@ -76,7 +76,14 @@ class FolderPageLocator: BUTTON_PANEL = (By.CSS_SELECTOR, ".bottom-sticker-inner") BUTTON_ADD_LIBRARY = (By.ID, "yui-gen13-button") INPUT_FIELD_LIBRARY_NAME = (By.NAME, '_.name') - + LINK_PLUS_NEW_VIEW = (By.CSS_SELECTOR, '.addTab') + INPUT_FIELD_VIEW_NAME = (By.ID, 'name') + RADIOBUTTON_GLOBAL_VIEW = (By.XPATH, '//div/input[@value="hudson.model.ProxyView"]') + BUTTON_OK_VIEW = (By.ID, 'ok') + BUTTON_OK_VIEW_CONFIGURATION = (By.ID, 'yui-gen2-button') + TAB_CREATED_GLOBAL_VIEW = (By.CSS_SELECTOR, '#breadcrumbs .item:nth-of-type(5) .breadcrumbBarAnchor') + LINK_EDIT_VIEW = (By.CSS_SELECTOR, '#tasks .task:nth-of-type(7) .task-link-text') + DASHBOARD_TAB_FOLDER = (By.CSS_SELECTOR, '#breadcrumbs .item:nth-of-type(3) .breadcrumbBarAnchor') class URLLocators: URL_FOLDER_CREATE = TestData.BASE_URL + 'view/all/newJob' diff --git a/tests/test_folder_page.py b/tests/test_folder_page.py index 8d9d750..f100c9e 100644 --- a/tests/test_folder_page.py +++ b/tests/test_folder_page.py @@ -1,3 +1,5 @@ +import time + import pytest from config.TestData import TestData @@ -158,3 +160,23 @@ def test_create_folder_with_library(self): driver.get_element(FolderPageLocator.SAVE_BUTTON).click() driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() driver.get_element(FolderPageLocator.BUTTON_YES).click() + + def test_create_folder_include_global_view(self): + driver = FolderPage(self.driver) + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.LINK_FOLDER).click() + driver.get_element(FolderPageLocator.OK_BUTTON).click() + driver.get_wait(FolderPageLocator.SAVE_BUTTON) + driver.get_element(FolderPageLocator.SAVE_BUTTON).click() + driver.get_element(FolderPageLocator.LINK_PLUS_NEW_VIEW).click() + driver.do_send_keys(FolderPageLocator.INPUT_FIELD_VIEW_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.RADIOBUTTON_GLOBAL_VIEW).click() + driver.get_element(FolderPageLocator.BUTTON_OK_VIEW).click() + driver.get_element(FolderPageLocator.BUTTON_OK_VIEW_CONFIGURATION).click() + assert driver.get_element_text(FolderPageLocator.TAB_CREATED_GLOBAL_VIEW) == FolderPage.name + driver.get_element(FolderPageLocator.TAB_CREATED_GLOBAL_VIEW).click() + assert driver.is_element_present(FolderPageLocator.TAB_CREATED_GLOBAL_VIEW) + assert driver.is_element_present(FolderPageLocator.LINK_EDIT_VIEW) + driver.get_element(FolderPageLocator.DASHBOARD_TAB_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() + driver.get_element(FolderPageLocator.BUTTON_YES).click() From 307d50d0e57b4a6a95ff4c9b46aef1e9e2b8b8d4 Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Tue, 5 Oct 2021 10:00:38 -0700 Subject: [PATCH 02/15] Added test_add_folder_view_name_list_view --- pages/FolderPage.py | 6 ++++++ tests/test_folder_page.py | 21 +++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/pages/FolderPage.py b/pages/FolderPage.py index 19f0467..9717d9c 100644 --- a/pages/FolderPage.py +++ b/pages/FolderPage.py @@ -79,11 +79,17 @@ class FolderPageLocator: LINK_PLUS_NEW_VIEW = (By.CSS_SELECTOR, '.addTab') INPUT_FIELD_VIEW_NAME = (By.ID, 'name') RADIOBUTTON_GLOBAL_VIEW = (By.XPATH, '//div/input[@value="hudson.model.ProxyView"]') + RADIOBUTTON_LIST_VIEW = (By.XPATH, '//div/input[@value="hudson.model.ListView"]') + RADIOBUTTON_MY_VIEW = (By.XPATH, '//div/input[@value="hudson.model.MyView"]') BUTTON_OK_VIEW = (By.ID, 'ok') BUTTON_OK_VIEW_CONFIGURATION = (By.ID, 'yui-gen2-button') TAB_CREATED_GLOBAL_VIEW = (By.CSS_SELECTOR, '#breadcrumbs .item:nth-of-type(5) .breadcrumbBarAnchor') LINK_EDIT_VIEW = (By.CSS_SELECTOR, '#tasks .task:nth-of-type(7) .task-link-text') DASHBOARD_TAB_FOLDER = (By.CSS_SELECTOR, '#breadcrumbs .item:nth-of-type(3) .breadcrumbBarAnchor') + TAB_CREATED_LIST_VIEW = (By.CSS_SELECTOR, '.active > a') + BUTTON_OK_LIST_VIEW_CONFIGURATION = (By.ID, 'yui-gen13-button') + DASHBOARD_TAB_FOLDER_LIST_VIEW = (By.XPATH, f'//a[contains(text(),"{FolderPage.name}")]') + class URLLocators: URL_FOLDER_CREATE = TestData.BASE_URL + 'view/all/newJob' diff --git a/tests/test_folder_page.py b/tests/test_folder_page.py index f100c9e..8906343 100644 --- a/tests/test_folder_page.py +++ b/tests/test_folder_page.py @@ -180,3 +180,24 @@ def test_create_folder_include_global_view(self): driver.get_element(FolderPageLocator.DASHBOARD_TAB_FOLDER).click() driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() driver.get_element(FolderPageLocator.BUTTON_YES).click() + + def test_add_folder_view_name_list_view(self): + driver = FolderPage(self.driver) + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.LINK_FOLDER).click() + driver.get_element(FolderPageLocator.OK_BUTTON).click() + driver.get_wait(FolderPageLocator.SAVE_BUTTON) + driver.get_element(FolderPageLocator.SAVE_BUTTON).click() + driver.get_element(FolderPageLocator.LINK_PLUS_NEW_VIEW).click() + driver.do_send_keys(FolderPageLocator.INPUT_FIELD_VIEW_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.RADIOBUTTON_LIST_VIEW).click() + driver.get_element(FolderPageLocator.BUTTON_OK_VIEW).click() + driver.get_element(FolderPageLocator.BUTTON_OK_LIST_VIEW_CONFIGURATION).click() + assert driver.get_element_text(FolderPageLocator.TAB_CREATED_LIST_VIEW) == FolderPage.name + assert driver.is_element_present(FolderPageLocator.DASHBOARD_TAB_FOLDER_LIST_VIEW) + # driver.get_element(FolderPageLocator.TAB_CREATED_GLOBAL_VIEW).click() + # assert driver.is_element_present(FolderPageLocator.TAB_CREATED_GLOBAL_VIEW) + # assert driver.is_element_present(FolderPageLocator.LINK_EDIT_VIEW) + # driver.get_element(FolderPageLocator.DASHBOARD_TAB_FOLDER).click() + # driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() + # driver.get_element(FolderPageLocator.BUTTON_YES).click() From f01635cc23263c04c2ecc836b3dad5bf978d34b6 Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Tue, 5 Oct 2021 10:02:22 -0700 Subject: [PATCH 03/15] Added test_add_folder_view_name_list_view --- tests/test_folder_page.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/tests/test_folder_page.py b/tests/test_folder_page.py index 8906343..d54a8e7 100644 --- a/tests/test_folder_page.py +++ b/tests/test_folder_page.py @@ -195,9 +195,4 @@ def test_add_folder_view_name_list_view(self): driver.get_element(FolderPageLocator.BUTTON_OK_LIST_VIEW_CONFIGURATION).click() assert driver.get_element_text(FolderPageLocator.TAB_CREATED_LIST_VIEW) == FolderPage.name assert driver.is_element_present(FolderPageLocator.DASHBOARD_TAB_FOLDER_LIST_VIEW) - # driver.get_element(FolderPageLocator.TAB_CREATED_GLOBAL_VIEW).click() - # assert driver.is_element_present(FolderPageLocator.TAB_CREATED_GLOBAL_VIEW) - # assert driver.is_element_present(FolderPageLocator.LINK_EDIT_VIEW) - # driver.get_element(FolderPageLocator.DASHBOARD_TAB_FOLDER).click() - # driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() - # driver.get_element(FolderPageLocator.BUTTON_YES).click() + From 73d389981bdcea306a2a85a33e121e2fa0ded684 Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Sun, 17 Oct 2021 12:06:55 -0700 Subject: [PATCH 04/15] Added test_add_jobs_in_folder_view_name_list_view --- pages/FolderPage.py | 2 ++ tests/test_folder_page.py | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/pages/FolderPage.py b/pages/FolderPage.py index 9717d9c..2d06c9e 100644 --- a/pages/FolderPage.py +++ b/pages/FolderPage.py @@ -89,6 +89,8 @@ class FolderPageLocator: TAB_CREATED_LIST_VIEW = (By.CSS_SELECTOR, '.active > a') BUTTON_OK_LIST_VIEW_CONFIGURATION = (By.ID, 'yui-gen13-button') DASHBOARD_TAB_FOLDER_LIST_VIEW = (By.XPATH, f'//a[contains(text(),"{FolderPage.name}")]') + LINK_NEW_FOLDER_ON_TOP_LIST = (By.XPATH, f"//li/a[@href='/job/{FolderPage.name}/']") + CHECK_BOX_ADD_JOB_IN_LIST_VIEW = (By.NAME, f"{FolderPage.name}") class URLLocators: diff --git a/tests/test_folder_page.py b/tests/test_folder_page.py index d54a8e7..a02f62b 100644 --- a/tests/test_folder_page.py +++ b/tests/test_folder_page.py @@ -196,3 +196,25 @@ def test_add_folder_view_name_list_view(self): assert driver.get_element_text(FolderPageLocator.TAB_CREATED_LIST_VIEW) == FolderPage.name assert driver.is_element_present(FolderPageLocator.DASHBOARD_TAB_FOLDER_LIST_VIEW) + def test_add_jobs_in_folder_view_name_list_view(self): + driver = FolderPage(self.driver) + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.LINK_FOLDER).click() + driver.get_element(FolderPageLocator.OK_BUTTON).click() + driver.get_wait(FolderPageLocator.SAVE_BUTTON) + driver.get_element(FolderPageLocator.SAVE_BUTTON).click() + driver.get_element(FolderPageLocator.LINK_CREATE_NEW_JOB_IN_FOLDER).click() + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.LINK_FREESTYLE).click() + driver.get_element(FolderPageLocator.BUTTON_OK_IN_FOLDER).click() + driver.get_wait(FolderPageLocator.BUTTON_PANEL) + driver.get_element(FolderPageLocator.BUTTON_SAVE_IN_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_NEW_FOLDER_ON_TOP_LIST).click() + driver.get_element(FolderPageLocator.LINK_PLUS_NEW_VIEW).click() + driver.do_send_keys(FolderPageLocator.INPUT_FIELD_VIEW_NAME, FolderPage.name_digits) + driver.get_element(FolderPageLocator.RADIOBUTTON_LIST_VIEW).click() + driver.get_element(FolderPageLocator.BUTTON_OK_VIEW).click() + driver.get_element(FolderPageLocator.CHECK_BOX_ADD_JOB_IN_LIST_VIEW).click() + driver.get_element(FolderPageLocator.BUTTON_OK_LIST_VIEW_CONFIGURATION).click() + assert driver.is_element_present(FolderPageLocator.DASHBOARD_TAB_FOLDER_LIST_VIEW) + From a500360369dc02a4e8c533b037f2a709d255517a Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Sun, 17 Oct 2021 12:23:40 -0700 Subject: [PATCH 05/15] Refactoring --- tests/test_folder_page.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/test_folder_page.py b/tests/test_folder_page.py index a02f62b..970bb28 100644 --- a/tests/test_folder_page.py +++ b/tests/test_folder_page.py @@ -1,5 +1,3 @@ -import time - import pytest from config.TestData import TestData @@ -195,6 +193,9 @@ def test_add_folder_view_name_list_view(self): driver.get_element(FolderPageLocator.BUTTON_OK_LIST_VIEW_CONFIGURATION).click() assert driver.get_element_text(FolderPageLocator.TAB_CREATED_LIST_VIEW) == FolderPage.name assert driver.is_element_present(FolderPageLocator.DASHBOARD_TAB_FOLDER_LIST_VIEW) + driver.get_element(FolderPageLocator.DASHBOARD_TAB_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() + driver.get_element(FolderPageLocator.BUTTON_YES).click() def test_add_jobs_in_folder_view_name_list_view(self): driver = FolderPage(self.driver) @@ -217,4 +218,6 @@ def test_add_jobs_in_folder_view_name_list_view(self): driver.get_element(FolderPageLocator.CHECK_BOX_ADD_JOB_IN_LIST_VIEW).click() driver.get_element(FolderPageLocator.BUTTON_OK_LIST_VIEW_CONFIGURATION).click() assert driver.is_element_present(FolderPageLocator.DASHBOARD_TAB_FOLDER_LIST_VIEW) - + driver.get_element(FolderPageLocator.DASHBOARD_TAB_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() + driver.get_element(FolderPageLocator.BUTTON_YES).click() From e84834ca7b93040e4ffb8811d5efe72305cc8869 Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Sun, 17 Oct 2021 15:08:57 -0700 Subject: [PATCH 06/15] Refactoring --- pages/FolderPage.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pages/FolderPage.py b/pages/FolderPage.py index 03fdd41..72d421f 100644 --- a/pages/FolderPage.py +++ b/pages/FolderPage.py @@ -55,7 +55,8 @@ class FolderPageLocator: LINK_NEW_ITEM = (By.XPATH, "//a[@title='New Item']") ITEM_NAME = (By.ID, 'name') LINK_FOLDER = (By.CLASS_NAME, 'com_cloudbees_hudson_plugins_folder_Folder') - OK_BUTTON = (By.ID, 'ok-button') + # OK_BUTTON = (By.ID, 'ok-button') + OK_BUTTON = (By.XPATH, "//span/button[@type='submit']") OK_BUTTON_DISABLED = (By.XPATH, "//button[@id='ok-button'][@class='disabled']") SAVE_BUTTON = (By.XPATH, '//span[@name="Submit"]') WRONG_REQUEST = (By.CSS_SELECTOR, 'div#error-description > h2') From 8932351c18f91201ed10188f51f40bd0e737e959 Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Sun, 17 Oct 2021 16:01:18 -0700 Subject: [PATCH 07/15] Added test_add_folder_view_name_my_view --- pages/FolderPage.py | 1 - tests/test_folder_page.py | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/pages/FolderPage.py b/pages/FolderPage.py index 72d421f..cc721e4 100644 --- a/pages/FolderPage.py +++ b/pages/FolderPage.py @@ -55,7 +55,6 @@ class FolderPageLocator: LINK_NEW_ITEM = (By.XPATH, "//a[@title='New Item']") ITEM_NAME = (By.ID, 'name') LINK_FOLDER = (By.CLASS_NAME, 'com_cloudbees_hudson_plugins_folder_Folder') - # OK_BUTTON = (By.ID, 'ok-button') OK_BUTTON = (By.XPATH, "//span/button[@type='submit']") OK_BUTTON_DISABLED = (By.XPATH, "//button[@id='ok-button'][@class='disabled']") SAVE_BUTTON = (By.XPATH, '//span[@name="Submit"]') diff --git a/tests/test_folder_page.py b/tests/test_folder_page.py index 970bb28..1663d51 100644 --- a/tests/test_folder_page.py +++ b/tests/test_folder_page.py @@ -221,3 +221,20 @@ def test_add_jobs_in_folder_view_name_list_view(self): driver.get_element(FolderPageLocator.DASHBOARD_TAB_FOLDER).click() driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() driver.get_element(FolderPageLocator.BUTTON_YES).click() + + def test_add_folder_view_name_my_view(self): + driver = FolderPage(self.driver) + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.LINK_FOLDER).click() + driver.get_element(FolderPageLocator.OK_BUTTON).click() + driver.get_wait(FolderPageLocator.SAVE_BUTTON) + driver.get_element(FolderPageLocator.SAVE_BUTTON).click() + driver.get_element(FolderPageLocator.LINK_PLUS_NEW_VIEW).click() + driver.do_send_keys(FolderPageLocator.INPUT_FIELD_VIEW_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.RADIOBUTTON_MY_VIEW).click() + driver.get_element(FolderPageLocator.BUTTON_OK_VIEW).click() + assert driver.get_element_text(FolderPageLocator.TAB_CREATED_LIST_VIEW) == FolderPage.name + assert driver.is_element_present(FolderPageLocator.DASHBOARD_TAB_FOLDER_LIST_VIEW) + driver.get_element(FolderPageLocator.DASHBOARD_TAB_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() + driver.get_element(FolderPageLocator.BUTTON_YES).click() \ No newline at end of file From 9a6684d300f2083f78288cdda6ebf4a46bdd3095 Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Mon, 1 Nov 2021 17:28:19 -0700 Subject: [PATCH 08/15] Added test_create_same_jobs_in_different_folders --- tests/test_folder_page.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tests/test_folder_page.py b/tests/test_folder_page.py index a466865..ff224b2 100644 --- a/tests/test_folder_page.py +++ b/tests/test_folder_page.py @@ -239,3 +239,36 @@ def test_add_folder_view_name_my_view(self): driver.get_element(FolderPageLocator.DASHBOARD_TAB_FOLDER).click() driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() driver.get_element(FolderPageLocator.BUTTON_YES).click() + + def test_create_same_jobs_in_different_folders(self): + driver = FolderPage(self.driver) + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.LINK_FOLDER).click() + driver.get_element(FolderPageLocator.OK_BUTTON).click() + driver.get_wait(FolderPageLocator.SAVE_BUTTON) + driver.get_element(FolderPageLocator.SAVE_BUTTON).click() + driver.get_element(FolderPageLocator.LINK_CREATE_NEW_JOB_IN_FOLDER).click() + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.LINK_FREESTYLE).click() + driver.get_element(FolderPageLocator.BUTTON_OK_IN_FOLDER).click() + driver.get_wait(FolderPageLocator.BUTTON_PANEL) + driver.get_element(FolderPageLocator.BUTTON_SAVE_IN_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_DASHBOARD).click() + driver.get_element(FolderPageLocator.LINK_NEW_ITEM).click() + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name + "1") + driver.get_element(FolderPageLocator.LINK_FOLDER).click() + driver.get_element(FolderPageLocator.OK_BUTTON).click() + driver.get_wait(FolderPageLocator.SAVE_BUTTON) + driver.get_element(FolderPageLocator.SAVE_BUTTON).click() + driver.get_element(FolderPageLocator.LINK_CREATE_NEW_JOB_IN_FOLDER).click() + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.LINK_FREESTYLE).click() + driver.get_element(FolderPageLocator.BUTTON_OK_IN_FOLDER).click() + driver.get_wait(FolderPageLocator.BUTTON_PANEL) + driver.get_element(FolderPageLocator.BUTTON_SAVE_IN_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_DASHBOARD).click() + driver.get_element(FolderPageLocator.LINK_FIRST_FOLDER_ON_TOP_LIST).click() + assert driver.is_element_present(FolderPageLocator.LINK_NEW_JOB_IN_FOLDER) + driver.get_element(FolderPageLocator.LINK_DASHBOARD).click() + driver.get_element(FolderPageLocator.LINK_SECOND_FOLDER_ON_TOP_LIST).click() + assert driver.is_element_present(FolderPageLocator.LINK_NEW_JOB_IN_FOLDER) From c70bb00171f9671e87a3546e83375aca1c32e443 Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Mon, 1 Nov 2021 17:30:11 -0700 Subject: [PATCH 09/15] Added test_create_same_jobs_in_different_folders --- pages/FolderPage.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pages/FolderPage.py b/pages/FolderPage.py index cc721e4..4bd35f4 100644 --- a/pages/FolderPage.py +++ b/pages/FolderPage.py @@ -91,6 +91,8 @@ class FolderPageLocator: DASHBOARD_TAB_FOLDER_LIST_VIEW = (By.XPATH, f'//a[contains(text(),"{FolderPage.name}")]') LINK_NEW_FOLDER_ON_TOP_LIST = (By.XPATH, f"//li/a[@href='/job/{FolderPage.name}/']") CHECK_BOX_ADD_JOB_IN_LIST_VIEW = (By.NAME, f"{FolderPage.name}") + LINK_FIRST_FOLDER_ON_TOP_LIST = (By.LINK_TEXT, f"{FolderPage.name}") + LINK_SECOND_FOLDER_ON_TOP_LIST = (By.LINK_TEXT, f'{FolderPage.name}1') From 786615264e1b1edb755a354d4ef539ad9b62db83 Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Mon, 1 Nov 2021 17:31:13 -0700 Subject: [PATCH 10/15] Added test_create_same_jobs_in_different_folders --- pages/FolderPage.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/FolderPage.py b/pages/FolderPage.py index 4bd35f4..1dd4b21 100644 --- a/pages/FolderPage.py +++ b/pages/FolderPage.py @@ -93,6 +93,7 @@ class FolderPageLocator: CHECK_BOX_ADD_JOB_IN_LIST_VIEW = (By.NAME, f"{FolderPage.name}") LINK_FIRST_FOLDER_ON_TOP_LIST = (By.LINK_TEXT, f"{FolderPage.name}") LINK_SECOND_FOLDER_ON_TOP_LIST = (By.LINK_TEXT, f'{FolderPage.name}1') + LINK_NEW_JOB_IN_FOLDER = (By.CSS_SELECTOR, f"#job_{FolderPage.name} .model-link") From 868bb77b276dc2250f1df0f7a1007b4c254d2e5a Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Mon, 1 Nov 2021 17:33:02 -0700 Subject: [PATCH 11/15] Added test_create_same_jobs_in_different_folders --- pages/FolderPage.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/FolderPage.py b/pages/FolderPage.py index 1dd4b21..c216aa9 100644 --- a/pages/FolderPage.py +++ b/pages/FolderPage.py @@ -94,6 +94,7 @@ class FolderPageLocator: LINK_FIRST_FOLDER_ON_TOP_LIST = (By.LINK_TEXT, f"{FolderPage.name}") LINK_SECOND_FOLDER_ON_TOP_LIST = (By.LINK_TEXT, f'{FolderPage.name}1') LINK_NEW_JOB_IN_FOLDER = (By.CSS_SELECTOR, f"#job_{FolderPage.name} .model-link") + LINK_DASHBOARD = (By.XPATH, "//a[contains(text(),'Dashboard')]") From e5c282e4b1a00f56261e8b813cf77857bc45b5a3 Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Mon, 1 Nov 2021 17:57:29 -0700 Subject: [PATCH 12/15] Added add remove created folders --- pages/FolderPage.py | 2 +- tests/test_folder_page.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pages/FolderPage.py b/pages/FolderPage.py index c216aa9..accdd63 100644 --- a/pages/FolderPage.py +++ b/pages/FolderPage.py @@ -64,7 +64,7 @@ class FolderPageLocator: ITEM_NAME_REQUIRED = (By.XPATH, "//div[@id='itemname-required'][contains(text(),'This field cannot be empty')]") ITEM_NAME_NOT_ALLOWED = (By.XPATH, "//div[@id='itemname-invalid'][contains(text(),'is not an allowed name')]") ERROR_PAGE_NONAME = (By.XPATH, "//div[@id='main-panel']/p[contains(text(),'No name is specified')]") - LINK_DELETE_FOLDER = (By.XPATH, "//a[@title='Delete Folder']") + LINK_DELETE_FOLDER = (By.CSS_SELECTOR, ".task:nth-child(5) .task-link-text") LINK_DELETE_PROJECT = (By.LINK_TEXT, 'Delete Project') BUTTON_YES = (By.ID, 'yui-gen1-button') LINK_EXIST_FOLDER = (By.CSS_SELECTOR, f'#job_{FolderPage.name} .model-link') diff --git a/tests/test_folder_page.py b/tests/test_folder_page.py index ff224b2..3c57952 100644 --- a/tests/test_folder_page.py +++ b/tests/test_folder_page.py @@ -1,3 +1,5 @@ +import time + import pytest from config.TestData import TestData @@ -272,3 +274,10 @@ def test_create_same_jobs_in_different_folders(self): driver.get_element(FolderPageLocator.LINK_DASHBOARD).click() driver.get_element(FolderPageLocator.LINK_SECOND_FOLDER_ON_TOP_LIST).click() assert driver.is_element_present(FolderPageLocator.LINK_NEW_JOB_IN_FOLDER) + driver.get_element(FolderPageLocator.LINK_FIRST_FOLDER_ON_TOP_LIST).click() + time.sleep(7) + driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() + driver.get_element(FolderPageLocator.BUTTON_YES).click() + driver.get_element(FolderPageLocator.LINK_SECOND_FOLDER_ON_TOP_LIST).click() + driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() + driver.get_element(FolderPageLocator.BUTTON_YES).click() \ No newline at end of file From fc197510123034e2dda21f0d5571304ecb83a0d4 Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Mon, 8 Nov 2021 14:40:21 -0800 Subject: [PATCH 13/15] Added test_add_two_views_with_same_name --- pages/FolderPage.py | 6 +++--- tests/test_folder_page.py | 21 +++++++++++++++++++-- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/pages/FolderPage.py b/pages/FolderPage.py index accdd63..b715138 100644 --- a/pages/FolderPage.py +++ b/pages/FolderPage.py @@ -76,7 +76,7 @@ class FolderPageLocator: BUTTON_PANEL = (By.CSS_SELECTOR, ".bottom-sticker-inner") BUTTON_ADD_LIBRARY = (By.ID, "yui-gen13-button") INPUT_FIELD_LIBRARY_NAME = (By.NAME, '_.name') - LINK_PLUS_NEW_VIEW = (By.CSS_SELECTOR, '.addTab') + LINK_PLUS_NEW_VIEW = (By.CSS_SELECTOR, '.addTab > .svg-icon') INPUT_FIELD_VIEW_NAME = (By.ID, 'name') RADIOBUTTON_GLOBAL_VIEW = (By.XPATH, '//div/input[@value="hudson.model.ProxyView"]') RADIOBUTTON_LIST_VIEW = (By.XPATH, '//div/input[@value="hudson.model.ListView"]') @@ -95,8 +95,8 @@ class FolderPageLocator: LINK_SECOND_FOLDER_ON_TOP_LIST = (By.LINK_TEXT, f'{FolderPage.name}1') LINK_NEW_JOB_IN_FOLDER = (By.CSS_SELECTOR, f"#job_{FolderPage.name} .model-link") LINK_DASHBOARD = (By.XPATH, "//a[contains(text(),'Dashboard')]") - - + LINK_FIRST_FOLDER = (By.LINK_TEXT, "first_folder") + ERROR_VIEW_MESSAGE = (By.CSS_SELECTOR, ".error") class URLLocators: diff --git a/tests/test_folder_page.py b/tests/test_folder_page.py index 3c57952..07f2a40 100644 --- a/tests/test_folder_page.py +++ b/tests/test_folder_page.py @@ -275,9 +275,26 @@ def test_create_same_jobs_in_different_folders(self): driver.get_element(FolderPageLocator.LINK_SECOND_FOLDER_ON_TOP_LIST).click() assert driver.is_element_present(FolderPageLocator.LINK_NEW_JOB_IN_FOLDER) driver.get_element(FolderPageLocator.LINK_FIRST_FOLDER_ON_TOP_LIST).click() - time.sleep(7) driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() driver.get_element(FolderPageLocator.BUTTON_YES).click() driver.get_element(FolderPageLocator.LINK_SECOND_FOLDER_ON_TOP_LIST).click() driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() - driver.get_element(FolderPageLocator.BUTTON_YES).click() \ No newline at end of file + driver.get_element(FolderPageLocator.BUTTON_YES).click() + + def test_add_two_views_with_same_name(self): + driver = FolderPage(self.driver) + driver.do_send_keys(FolderPageLocator.ITEM_NAME, "first_folder") + driver.get_element(FolderPageLocator.LINK_FOLDER).click() + driver.get_element(FolderPageLocator.OK_BUTTON).click() + driver.get_wait(FolderPageLocator.SAVE_BUTTON) + driver.get_element(FolderPageLocator.SAVE_BUTTON).click() + driver.get_element(FolderPageLocator.LINK_PLUS_NEW_VIEW).click() + driver.do_send_keys(FolderPageLocator.INPUT_FIELD_VIEW_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.RADIOBUTTON_GLOBAL_VIEW).click() + driver.get_element(FolderPageLocator.BUTTON_OK_VIEW).click() + driver.get_element(FolderPageLocator.BUTTON_OK_VIEW_CONFIGURATION).click() + driver.get_element(FolderPageLocator.LINK_FIRST_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_PLUS_NEW_VIEW).click() + driver.do_send_keys(FolderPageLocator.INPUT_FIELD_VIEW_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.RADIOBUTTON_GLOBAL_VIEW).click() + assert driver.get_element_text(FolderPageLocator.ERROR_VIEW_MESSAGE) == f'A view already exists with the name "{FolderPage.name}"' From 1ed31a173208c11098ba7b1ffe1f74d9cce4632f Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Mon, 8 Nov 2021 17:08:08 -0800 Subject: [PATCH 14/15] Added test_create_two_jobs_in_once_folder_and_rename_one_to_another --- pages/FolderPage.py | 5 ++++- tests/test_folder_page.py | 31 ++++++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/pages/FolderPage.py b/pages/FolderPage.py index b715138..8bd80cb 100644 --- a/pages/FolderPage.py +++ b/pages/FolderPage.py @@ -97,7 +97,10 @@ class FolderPageLocator: LINK_DASHBOARD = (By.XPATH, "//a[contains(text(),'Dashboard')]") LINK_FIRST_FOLDER = (By.LINK_TEXT, "first_folder") ERROR_VIEW_MESSAGE = (By.CSS_SELECTOR, ".error") - + LINK_JOB_IN_FOLDER_DIGITS_NAME = (By.XPATH, f"//tr[@id='job_{FolderPage.name_digits}']/td/a[contains(text(), '{FolderPage.name_digits}')]") + LINK_RENAME = (By.CSS_SELECTOR, "a[title='Rename'] > .task-link-text") + INPUT_FIELD_RENAME_JOB_IN_FOLDER = (By.CSS_SELECTOR, "input[name='newName']") + NAME_FIELD_INPUT_RENAME_JOB = (By.CSS_SELECTOR, ".help-sibling.setting-name") class URLLocators: URL_FOLDER_CREATE = TestData.BASE_URL + 'view/all/newJob' diff --git a/tests/test_folder_page.py b/tests/test_folder_page.py index 07f2a40..c369791 100644 --- a/tests/test_folder_page.py +++ b/tests/test_folder_page.py @@ -212,7 +212,7 @@ def test_add_jobs_in_folder_view_name_list_view(self): driver.get_element(FolderPageLocator.BUTTON_OK_IN_FOLDER).click() driver.get_wait(FolderPageLocator.BUTTON_PANEL) driver.get_element(FolderPageLocator.BUTTON_SAVE_IN_FOLDER).click() - driver.get_element(FolderPageLocator.LINK_NEW_FOLDER_ON_TOP_LIST).click() + driver.get_element(FolderPageLocator.LINK_FOLDER_ON_TOP_LIST).click() driver.get_element(FolderPageLocator.LINK_PLUS_NEW_VIEW).click() driver.do_send_keys(FolderPageLocator.INPUT_FIELD_VIEW_NAME, FolderPage.name_digits) driver.get_element(FolderPageLocator.RADIOBUTTON_LIST_VIEW).click() @@ -298,3 +298,32 @@ def test_add_two_views_with_same_name(self): driver.do_send_keys(FolderPageLocator.INPUT_FIELD_VIEW_NAME, FolderPage.name) driver.get_element(FolderPageLocator.RADIOBUTTON_GLOBAL_VIEW).click() assert driver.get_element_text(FolderPageLocator.ERROR_VIEW_MESSAGE) == f'A view already exists with the name "{FolderPage.name}"' + + def test_create_two_jobs_in_once_folder_and_rename_one_to_another(self): + driver = FolderPage(self.driver) + driver.do_send_keys(FolderPageLocator.ITEM_NAME, "first_folder") + driver.get_element(FolderPageLocator.LINK_FOLDER).click() + driver.get_element(FolderPageLocator.OK_BUTTON).click() + driver.get_wait(FolderPageLocator.SAVE_BUTTON) + driver.get_element(FolderPageLocator.SAVE_BUTTON).click() + driver.get_element(FolderPageLocator.LINK_CREATE_NEW_JOB_IN_FOLDER).click() + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.LINK_FREESTYLE).click() + driver.get_element(FolderPageLocator.BUTTON_OK_IN_FOLDER).click() + driver.get_wait(FolderPageLocator.BUTTON_PANEL) + driver.get_element(FolderPageLocator.BUTTON_SAVE_IN_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_FIRST_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_NEW_ITEM).click() + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name_digits) + driver.get_element(FolderPageLocator.LINK_FREESTYLE).click() + driver.get_element(FolderPageLocator.BUTTON_OK_IN_FOLDER).click() + driver.get_wait(FolderPageLocator.BUTTON_PANEL) + driver.get_element(FolderPageLocator.BUTTON_SAVE_IN_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_FIRST_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_JOB_IN_FOLDER_DIGITS_NAME).click() + driver.get_element(FolderPageLocator.LINK_RENAME).click() + driver.get_element(FolderPageLocator.INPUT_FIELD_RENAME_JOB_IN_FOLDER).clear() + driver.do_send_keys(FolderPageLocator.INPUT_FIELD_RENAME_JOB_IN_FOLDER, FolderPage.name) + driver.get_element(FolderPageLocator.NAME_FIELD_INPUT_RENAME_JOB).click() + assert driver.get_element_text(FolderPageLocator.ERROR_VIEW_MESSAGE)\ + == f'The name “{FolderPage.name}” is already in use.' From 392fb1e0038d20e6f05c1d525df8841450552bd4 Mon Sep 17 00:00:00 2001 From: Vadym Koroliuk Date: Mon, 3 Jan 2022 22:21:35 -0800 Subject: [PATCH 15/15] Added test_create_two_jobs_in_once_folder_and_rename_one_to_another --- pages/FolderPage.py | 2 +- tests/test_folder_page.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/pages/FolderPage.py b/pages/FolderPage.py index 272abbd..c6c9882 100644 --- a/pages/FolderPage.py +++ b/pages/FolderPage.py @@ -104,7 +104,7 @@ class FolderPageLocator: LINK_RENAME = (By.CSS_SELECTOR, "a[title='Rename'] > .task-link-text") INPUT_FIELD_RENAME_JOB_IN_FOLDER = (By.CSS_SELECTOR, "input[name='newName']") NAME_FIELD_INPUT_RENAME_JOB = (By.CSS_SELECTOR, ".help-sibling.setting-name") - + ITEM_NAME_INVALID_INPUT = (By.CSS_SELECTOR, "div#itemname-invalid") class URLLocators: URL_FOLDER_CREATE = TestData.BASE_URL + 'view/all/newJob' diff --git a/tests/test_folder_page.py b/tests/test_folder_page.py index c369791..02be50f 100644 --- a/tests/test_folder_page.py +++ b/tests/test_folder_page.py @@ -298,6 +298,9 @@ def test_add_two_views_with_same_name(self): driver.do_send_keys(FolderPageLocator.INPUT_FIELD_VIEW_NAME, FolderPage.name) driver.get_element(FolderPageLocator.RADIOBUTTON_GLOBAL_VIEW).click() assert driver.get_element_text(FolderPageLocator.ERROR_VIEW_MESSAGE) == f'A view already exists with the name "{FolderPage.name}"' + driver.get_element(FolderPageLocator.DASHBOARD_TAB_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() + driver.get_element(FolderPageLocator.BUTTON_YES).click() def test_create_two_jobs_in_once_folder_and_rename_one_to_another(self): driver = FolderPage(self.driver) @@ -327,3 +330,30 @@ def test_create_two_jobs_in_once_folder_and_rename_one_to_another(self): driver.get_element(FolderPageLocator.NAME_FIELD_INPUT_RENAME_JOB).click() assert driver.get_element_text(FolderPageLocator.ERROR_VIEW_MESSAGE)\ == f'The name “{FolderPage.name}” is already in use.' + + driver.get_element(FolderPageLocator.DASHBOARD_TAB_FOLDER).click() + time.sleep(3) + driver.switch_to_window() + driver.get_element(FolderPageLocator.LINK_DELETE_FOLDER).click() + time.sleep(4) + # driver.get_element(FolderPageLocator.BUTTON_YES).click() + + def test_create_two_jobs_with_same_name_in_once_folder(self): + driver = FolderPage(self.driver) + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.LINK_FOLDER).click() + driver.get_element(FolderPageLocator.OK_BUTTON).click() + driver.get_wait(FolderPageLocator.SAVE_BUTTON) + driver.get_element(FolderPageLocator.SAVE_BUTTON).click() + driver.get_element(FolderPageLocator.LINK_CREATE_NEW_JOB_IN_FOLDER).click() + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.LINK_FREESTYLE).click() + driver.get_element(FolderPageLocator.BUTTON_OK_IN_FOLDER).click() + driver.get_wait(FolderPageLocator.BUTTON_PANEL) + driver.get_element(FolderPageLocator.BUTTON_SAVE_IN_FOLDER).click() + driver.get_element(FolderPageLocator.LINK_NEW_FOLDER_ON_TOP_LIST).click() + driver.get_element(FolderPageLocator.LINK_NEW_ITEM).click() + driver.do_send_keys(FolderPageLocator.ITEM_NAME, FolderPage.name) + driver.get_element(FolderPageLocator.LINK_FREESTYLE).click() + assert driver.get_element_text(FolderPageLocator.ITEM_NAME_INVALID_INPUT) \ + == f"» A job already exists with the name ‘{FolderPage.name}’"