Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
7b2c285
Added test_create_folder_include_global_view
Wis13 Oct 4, 2021
307d50d
Added test_add_folder_view_name_list_view
Wis13 Oct 5, 2021
f01635c
Added test_add_folder_view_name_list_view
Wis13 Oct 5, 2021
f8ff965
Merge branch 'main' into VK_CREATE_FOLDER
Wis13 Oct 5, 2021
73d3899
Added test_add_jobs_in_folder_view_name_list_view
Wis13 Oct 17, 2021
8775218
Merge remote-tracking branch 'origin/VK_CREATE_FOLDER' into VK_CREATE…
Wis13 Oct 17, 2021
b75fb2f
Merge branch 'main' into VK_CREATE_FOLDER
Wis13 Oct 17, 2021
a500360
Refactoring
Wis13 Oct 17, 2021
a1df4f2
Merge remote-tracking branch 'origin/VK_CREATE_FOLDER' into VK_CREATE…
Wis13 Oct 17, 2021
e84834c
Refactoring
Wis13 Oct 17, 2021
8932351
Added test_add_folder_view_name_my_view
Wis13 Oct 17, 2021
c15ef4d
Merge branch 'main' of https://github.com/Python2-QAForEveryone/jenki…
Wis13 Nov 2, 2021
9a6684d
Added test_create_same_jobs_in_different_folders
Wis13 Nov 2, 2021
c70bb00
Added test_create_same_jobs_in_different_folders
Wis13 Nov 2, 2021
7866152
Added test_create_same_jobs_in_different_folders
Wis13 Nov 2, 2021
868bb77
Added test_create_same_jobs_in_different_folders
Wis13 Nov 2, 2021
e5c282e
Added add remove created folders
Wis13 Nov 2, 2021
fc19751
Added test_add_two_views_with_same_name
Wis13 Nov 8, 2021
53819dd
Merge branch 'main' into VK_CREEATE_FOLDER
Wis13 Nov 8, 2021
1ed31a1
Added test_create_two_jobs_in_once_folder_and_rename_one_to_another
Wis13 Nov 9, 2021
f6eefd2
Merge remote-tracking branch 'origin/VK_CREEATE_FOLDER' into VK_CREEA…
Wis13 Nov 9, 2021
392fb1e
Added test_create_two_jobs_in_once_folder_and_rename_one_to_another
Wis13 Jan 4, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions pages/FolderPage.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,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')
Expand All @@ -79,7 +79,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"]')
Expand All @@ -94,7 +94,17 @@ 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')
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")
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")
ITEM_NAME_INVALID_INPUT = (By.CSS_SELECTOR, "div#itemname-invalid")

class URLLocators:
URL_FOLDER_CREATE = TestData.BASE_URL + 'view/all/newJob'
Expand Down
120 changes: 119 additions & 1 deletion tests/test_folder_page.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import time

import pytest

from config.TestData import TestData
Expand Down Expand Up @@ -210,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()
Expand Down Expand Up @@ -239,3 +241,119 @@ 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)
driver.get_element(FolderPageLocator.LINK_FIRST_FOLDER_ON_TOP_LIST).click()
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()

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}"'
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)
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.'

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}’"