From 2b1e4f2fbda6657fb4b45b0e50edd727f89e356e Mon Sep 17 00:00:00 2001 From: Olena Zhelnytska Date: Fri, 27 Dec 2024 00:37:28 +0200 Subject: [PATCH] Updated tests according to the requirements: - updated test with redirection of source path - updated tests with changed redirection of broken links - updated tests with checking the error message tooltip - updated tests with revamp of the Monitoring section - updated test with checking the scheduled jobs deletion - added test with checking the Abort action on the Monitor Jobs tab - added test to check filtering by the status of workflows on the Workflows Monitor tab - updated tests with checking status tooltips in the Monitoring section - added test with check components on Alerts counter box --- tests/features/MLFunction.feature | 5 +- tests/features/artifacts.feature | 59 ++++- tests/features/common-tools/common-consts.js | 17 +- tests/features/common/page-objects.js | 1 + .../features/common/page-objects/files.po.js | 4 +- .../common/page-objects/info-pane.po.js | 7 +- .../page-objects/interactive-popup.po.js | 88 ++++++- .../page-objects/jobs-and-workflows.po.js | 4 +- .../common/page-objects/projects.po.js | 137 ++++++----- tests/features/datasets.feature | 10 +- tests/features/featureStore.feature | 14 +- tests/features/jobsAndWorkflows.feature | 123 +++++++++- tests/features/projectsPage.feature | 219 +++++++++++++----- tests/features/step-definitions/steps.js | 12 + tests/mockServer/data/artifacts.json | 7 +- tests/mockServer/mock.js | 10 +- 16 files changed, 570 insertions(+), 147 deletions(-) diff --git a/tests/features/MLFunction.feature b/tests/features/MLFunction.feature index 7d949eae9..5475d4773 100644 --- a/tests/features/MLFunction.feature +++ b/tests/features/MLFunction.feature @@ -93,6 +93,7 @@ Feature: ML Functions Then verify "Overview_Headers" on "ML_Function_Info_Pane" wizard should contains "ML_Function_Info_Pane"."Overview_Headers" Then click on "Cross_Close_Button" element on "ML_Function_Info_Pane" wizard When click on cell with row index 1 in "name" column in "Functions_Table" table on "ML_Functions" wizard + And wait load page Then verify "Header" element visibility on "ML_Function_Info_Pane" wizard Then verify "Updated" element visibility on "ML_Function_Info_Pane" wizard Then verify "Cross_Close_Button" element visibility on "ML_Function_Info_Pane" wizard @@ -645,6 +646,8 @@ Feature: ML Functions And set tear-down property "function" created in "default" project with "new-aqa-function-00" value Then click on "Save_Button" element on "New_Function" wizard And wait load page + When click on cell with row index 1 in "name" column in "Functions_Table" table on "ML_Functions" wizard + And wait load page Then "Header" element on "ML_Function_Info_Pane" should contains "new-aqa-function-00" value Then check "new-aqa-function-00" value in "name" column in "Overview_Table" table on "ML_Function_Info_Pane" wizard Then check "job" value in "kind" column in "Overview_Table" table on "ML_Function_Info_Pane" wizard @@ -1079,7 +1082,7 @@ Feature: ML Functions Then verify "Cross_Cancel_Button" element visibility on "View_YAML" wizard Then verify "YAML_Modal_Container" element visibility on "View_YAML" wizard Then click on "Cross_Cancel_Button" element on "View_YAML" wizard - Then click on cell with row index 8 in "expand_btn" column in "Functions_Table" table on "ML_Functions" wizard + Then click on cell with row index 9 in "expand_btn" column in "Functions_Table" table on "ML_Functions" wizard And wait load page Then select "View YAML" option in action menu on "ML_Functions" wizard in "Functions_Table" table at row with "Nov 23, 2021, 11:31:51 AM" value in "name" column Then verify if "View_YAML" popup dialog appears diff --git a/tests/features/artifacts.feature b/tests/features/artifacts.feature index c8d5548b2..c0870bce8 100644 --- a/tests/features/artifacts.feature +++ b/tests/features/artifacts.feature @@ -435,6 +435,63 @@ Feature: Artifacts Page Then verify "Overview" tab is active in "Info_Pane_Tab_Selector" on "Files_Info_Pane" wizard Then verify "Overview_Sources_Headers" on "Files_Info_Pane" wizard should contains "Files_Info_Pane"."Overview_Sources_Headers" Then verify "Overview_Sources_Headers" element visibility on "Files_Info_Pane" wizard + When click on cell with value "raw-data" in "name" column in "Files_Table" table on "Files" wizard + And wait load page + Then click on "Source_Path" element on "Files_Info_Pane" wizard + And wait load page + Then verify if "Modal_Transition_Popup" popup dialog appears + Then verify "Title" element visibility on "Modal_Transition_Popup" wizard + Then "Title" element on "Modal_Transition_Popup" should contains "survival-curves_km-timelines" value + Then verify "Data_Status" element visibility on "Modal_Transition_Popup" wizard + Then "Data_Status" element on "Modal_Transition_Popup" should contains "Aug 29, 2021, 10:54:15 PM" value + Then verify "Refresh_Button" element visibility on "Modal_Transition_Popup" wizard + Then click on "Refresh_Button" element on "Modal_Transition_Popup" wizard + And wait load page + Then verify "Refresh_Button" element visibility on "Modal_Transition_Popup" wizard + Then verify "Action_Menu" element visibility on "Modal_Transition_Popup" wizard + Then verify "Action_Menu" dropdown element on "Modal_Transition_Popup" wizard should contains "Common_Lists"."Action_Menu_List_Dataset_Transition_Popup" + Then verify "Cross_Close_Button" element visibility on "Modal_Transition_Popup" wizard + Then click on "Cross_Close_Button" element on "Modal_Transition_Popup" wizard + And wait load page + Then click on "Source_Path" element on "Files_Info_Pane" wizard + And wait load page + Then select "Download" option in action menu on "Modal_Transition_Popup" wizard + And wait load page + Then verify "Download_Pop_Up" element visibility on "Downloads_Popup" wizard + And wait load page + Then verify "Download_Pop_Up_Cross_Cancel_Button" element visibility on "Downloads_Popup" wizard + And wait load page + Then verify "Download_Pop_Up_Cross_Cancel_Button" element visibility on "Downloads_Popup" wizard + And wait load page + Then verify "Header_Download_Pop_Up" element visibility on "Downloads_Popup" wizard + Then "Header_Download_Pop_Up" element on "Downloads_Popup" should contains "Downloads" value + Then click on "Download_Pop_Up_Cross_Cancel_Button" element on "Downloads_Popup" wizard + Then select "Copy URI" option in action menu on "Modal_Transition_Popup" wizard + And wait load page + Then verify if "Notification_Popup" popup dialog appears + Then verify "Notification_Pop_Up" element visibility on "Notification_Popup" wizard + Then "Notification_Pop_Up" element on "Notification_Popup" should contains "Copied to clipboard successfully" value + Then verify "Notification_Pop_Up_Cross_Close_Button" element visibility on "Notification_Popup" wizard + Then click on "Notification_Pop_Up_Cross_Close_Button" element on "Notification_Popup" wizard + Then select "View YAML" option in action menu on "Modal_Transition_Popup" wizard + Then verify if "View_YAML" popup dialog appears + Then verify "Cross_Cancel_Button" element visibility on "View_YAML" wizard + Then verify "YAML_Modal_Container" element visibility on "View_YAML" wizard + Then click on "Cross_Cancel_Button" element on "View_YAML" wizard + Then verify "Tab_Selector" on "Modal_Transition_Popup" wizard should contains "Datasets_Info_Pane"."Tab_List" + Then verify "Overview" tab is active in "Tab_Selector" on "Modal_Transition_Popup" wizard + Then select "Preview" tab in "Tab_Selector" on "Modal_Transition_Popup" wizard + Then verify "Preview" tab is active in "Tab_Selector" on "Modal_Transition_Popup" wizard + Then select "Metadata" tab in "Tab_Selector" on "Modal_Transition_Popup" wizard + Then verify "Metadata" tab is active in "Tab_Selector" on "Modal_Transition_Popup" wizard + Then select "Analysis" tab in "Tab_Selector" on "Modal_Transition_Popup" wizard + Then verify "Analysis" tab is active in "Tab_Selector" on "Modal_Transition_Popup" wizard + Then select "Overview" tab in "Tab_Selector" on "Modal_Transition_Popup" wizard + Then verify "Overview" tab is active in "Tab_Selector" on "Modal_Transition_Popup" wizard + Then verify "Overview_General_Headers" on "Modal_Transition_Popup" wizard should contains "Datasets_Info_Pane"."Overview_General_Headers" + Then verify "Overview_Producer_Headers" on "Modal_Transition_Popup" wizard should contains "Datasets_Info_Pane"."Overview_Producer_Headers" + Then verify "Overview_Sources_Headers" element visibility on "Modal_Transition_Popup" wizard + Then verify "Overview_Sources_Headers" on "Modal_Transition_Popup" wizard should contains "Datasets_Info_Pane"."Overview_Sources_Headers" @MLA @passive @@ -557,7 +614,7 @@ Feature: Artifacts Page And wait load page When click on cell with row index 1 in "name" column in "Files_Table" table on "Files" wizard And wait load page - Then verify redirection from "projects/default/files/INVALID/latest/0/overview" to "projects/default/files/INVALID/latest/0/overview" + Then verify redirection from "projects/default/files/INVALID/latest/0/overview" to "projects/default/files" And select "tab" with "Datasets" value in breadcrumbs menu And wait load page And select "tab" with "Artifacts" value in breadcrumbs menu diff --git a/tests/features/common-tools/common-consts.js b/tests/features/common-tools/common-consts.js index 842bcaf1e..fda52683b 100644 --- a/tests/features/common-tools/common-consts.js +++ b/tests/features/common-tools/common-consts.js @@ -98,6 +98,7 @@ module.exports = { Common_Lists: { Action_Menu_List: ['Add a tag', 'Download', 'Copy URI', 'View YAML', 'Delete'], Action_Menu_List_Expanded: ['Add a tag', 'Download', 'Copy URI', 'View YAML', 'Delete all'], + Action_Menu_List_Dataset_Transition_Popup: ['Download', 'Copy URI', 'View YAML'], Handler_List: ['train'], Pods_Priority_List: ['Low','Medium', 'High'], Ranking_Criteria_List: ['Min','Max'] @@ -335,7 +336,15 @@ module.exports = { }, Common_Tooltips:{ FilterBy_Button: 'Filter', - Refresh_Button: 'Refresh' + Refresh_Button: 'Refresh', + In_Process_Jobs: 'Aborting, Pending, Running', + In_Process_Workflows: 'Running', + Failed_Jobs: 'Aborted, Error', + Failed_Worflows: 'Error, Failed', + Succeeded: 'Completed', + Error_Content: 'Error. Columns must be same length as key', + Error_Content_Workflow: + 'Error. 2021-08-29 20:01:36.582972: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library \'libcudart.so.11.0\'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/lib:/usr/local/lib: 2021-08-29 20:01:36.583019: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. 2021-08-29 20:01:46.470042: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set 2021-08-29 20:01:46.470263: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library \'libcuda.so.1\'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/lib:/usr/local/lib: 2021-08-29 20:01:46.470283: W tensorflow/stream_executor/cuda/cuda_driver.cc:326] failed call to cuInit: UNKNOWN ERROR (303) 2021-08-29 20:01:46.470306: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (train-1193bacd-worker-0): /proc/driver/nvidia/version does not exist 2021-08-29 20:01:46.518782: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. 2021-08-29 20:01:46.518927: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set Some callbacks may not have access to the averaged metrics, see https://github.com/horovod/horovod/issues/2440 Traceback (most recent call last): File "/User/demos/image-classification-with-distributed-training/src-tfv2/horovod-training.py", line 116, in hvd.callbacks.LearningRateWarmupCallback(warmup_epochs=5, verbose=1), TypeError: __init__() missing 1 required positional argument: \'initial_lr\'' }, Input_Hint: { Artifact_Names_Unique: 'Artifact names in the same project must be unique', @@ -468,7 +477,7 @@ module.exports = { Messages: { How_To_Create: 'See how to create a serving function in https://docs.mlrun.org/en/stable/serving/built-in-model-serving.html and https://docs.mlrun.org/en/stable/tutorials/03-model-serving.html', - Metrics_Empty_Select_Message: 'Choose metrics to view endpoint\’s data' + Metrics_Empty_Select_Message: 'Choose metrics to view endpoint’s data' }, Jobs_Monitoring: { Tab_List: ['Jobs', 'Workflows', 'Scheduled'] @@ -527,7 +536,7 @@ module.exports = { Project_Already_Exists: /A project named "[^"]+[$"] already exists/, Projects_Limit_Reached: 'The system already has the maximum number of projects. An existing project must be deleted before you can create another.', - MLRunAccessDeniedError: 'MLRunAccessDeniedError(\'Not allowed to create\/update internal secrets (key starts with mlrun\.)\')', + MLRunAccessDeniedError: 'MLRunAccessDeniedError(\'Not allowed to create/update internal secrets (key starts with mlrun.)\')', Must_Select_One: 'Must select at least one', Must_Select_One_Partition: 'Must select at least one partitioning option', Already_Scheduled: 'This job is already scheduled', @@ -539,7 +548,7 @@ module.exports = { Jobs_Status_Filter_Options: ['All', 'Aborted', 'Aborting', 'Completed', 'Error', 'Running', 'Pending'], Workflows_Status_Filter_Options: ['All', 'Error', 'Failed', 'Running', 'Completed'], Jobs_Type_Filter_Options: ['All', 'Local', 'Dask', 'Databricks', 'Handler', 'Job', 'Horovod', 'Spark'], - Scheduled_Type_Filter_Options: ['All', 'Jobs', 'Workflows'], + Scheduled_Type_Filter_Options: ['All', 'Job', 'Workflow', 'Nuclio', 'Application', 'Serving', 'Spark', 'Horovod', 'Dask', 'Databricks', 'Local', 'Handler'], Group_By_Filter_Options: ['None', 'Name'], Start_Time_Filter_Options: [ 'Any time', diff --git a/tests/features/common/page-objects.js b/tests/features/common/page-objects.js index 87defd53f..fd00c5206 100644 --- a/tests/features/common/page-objects.js +++ b/tests/features/common/page-objects.js @@ -77,6 +77,7 @@ module.exports = { Model_Endpoints: models['modelEndpoints'], Models: models['modelsTab'], Models_Info_Pane: infoPane['modelsInfoPane'], + Modal_Transition_Popup: interactivePopup['modalTransitionPopup'], Modal_Wizard_Form: interactivePopup['modalWizardForm'], New_Feature_Set: sidePanel['newFeatureSet'], New_Function: sidePanel['newFunction'], diff --git a/tests/features/common/page-objects/files.po.js b/tests/features/common/page-objects/files.po.js index 890151a00..c2c51474e 100644 --- a/tests/features/common/page-objects/files.po.js +++ b/tests/features/common/page-objects/files.po.js @@ -106,8 +106,6 @@ module.exports = { ), Files_Table: commonTable(filesTable), Register_File_Button: By.css('.content__action-bar-wrapper .action-bar__actions .action-button'), - Table_FilterBy_Button: By.css( - '.content .content__action-bar-wrapper .action-bar__filters .filters-button button' - ) + Table_FilterBy_Button: By.css('[data-testid="filter-menu-btn"]') } } diff --git a/tests/features/common/page-objects/info-pane.po.js b/tests/features/common/page-objects/info-pane.po.js index 10b9bfb5d..9c546da7f 100644 --- a/tests/features/common/page-objects/info-pane.po.js +++ b/tests/features/common/page-objects/info-pane.po.js @@ -681,9 +681,11 @@ module.exports = { Overview_Table: commonTable(functionsOverviewTable) }, jobsMonitorTabInfoPane: { - Arrow_Back: By.css('a.item-header__back-btn'), + Arrow_Back: By.css('a.link-back__icon'), Header: header, Updated: updated, + State_Icon: By.css('.item-header .item-header__status .state'), + Error_Content: By.css('.item-header .item-header__status .error-container'), Action_Menu: commonActionMenu, Cross_Close_Button: crossCloseButton, Info_Pane_Tab_Selector: commonInfoPaneTabSelector, @@ -699,6 +701,8 @@ module.exports = { Arrow_Back: commonArrowBack, Header: By.css('.workflow-container .link-back__title .data-ellipsis'), Updated: updated, + State_Icon: By.css('.item-header .item-header__status .state'), + Error_Content: By.css('.item-header .item-header__status .error-container'), Action_Menu: commonActionMenu, Cross_Close_Button: crossCloseButton, Info_Pane_Tab_Selector: commonInfoPaneTabSelector, @@ -739,6 +743,7 @@ module.exports = { Overview_General_Headers: commonTable(infoPaneOverviewHeaders), Overview_Producer_Headers: commonTable(infoPaneOverviewProducerHeaders), Overview_Sources_Headers: commonTable(infoPaneOverviewSourcesHeaders), + Source_Path: By.css('[data-testid="sources"] .info-sources__table-value .link'), Overview_Hash_Header: labelComponent( generateLabelGroup( '.item-info__details:nth-of-type(1) .details-item:nth-of-type(1) .details-item__header', diff --git a/tests/features/common/page-objects/interactive-popup.po.js b/tests/features/common/page-objects/interactive-popup.po.js index b7e38d09a..2dd4c6736 100644 --- a/tests/features/common/page-objects/interactive-popup.po.js +++ b/tests/features/common/page-objects/interactive-popup.po.js @@ -639,15 +639,6 @@ const commonFormSubtext = By.css('.form-text div p') const commonScheduleButton = By.css('.modal__content [data-testid="schedule-btn"]') const commonRunSaveButton = By.css('.modal__content [data-testid="run-btn"]') -const commonLabelFilterInput = inputGroup( - generateInputGroup( - '[data-testid="labels-form-field-input"]', - true, - false, - '.form-field__warning svg' - ) -) - const commonProjectFilterInput = inputGroup( generateInputGroup('[data-testid="project-form-field-input"]', true, false, true) ) @@ -660,6 +651,72 @@ const commonTableTreeFilterDropdown = dropdownComponent( ) ) +const actionMenuStructureTransitionPopup = { + root: '.table__item-popup .item-header__buttons .actions-menu__container', + menuElements: { + open_button: 'button', + options: '.actions-menu__body .actions-menu__option' + } +} + +const infoPaneTabSelector = { + root: '.table__item-popup .tabs-slider__tabs', + header: {}, + body: { + row: { + root: '.tabs-slider__tab', + fields: { + key: '', + hintButton: '.tip-container' + } + } + } +} + +const infoPaneOverviewHeaders = { + root: '.table__item-popup .item-info__details-wrapper:nth-of-type(1)', + header: {}, + body: { + row: { + root: 'li:not(li.details-item_hidden)', + fields: { + key: '.details-item__header', + link: '.details-item__data .link', + value: '.details-item__data' + } + } + } +} + +const infoPaneOverviewProducerHeaders = { + root: '.table__item-popup .item-info__details-wrapper:nth-of-type(2)', + header: {}, + body: { + row: { + root: '.item-info__details', + fields: { + key: '.details-item__header', + link: '.details-item__data .link', + value: '.details-item__data' + } + } + } +} + +const infoPaneOverviewSourcesHeaders = { + root: '.table__item-popup .item-info__details-wrapper:nth-of-type(2)', + header: {}, + body: { + row: { + root: '.info-sources', + fields: { + key: '.info-sources__table-key', + value: '.info-sources__table-value' + } + } + } +} + module.exports = { createNewProject: { Title: commonTitle, @@ -743,6 +800,17 @@ module.exports = { Metrics_Apply_Button: By.css('[data-testid="metrics-selector-buttons"] .btn-secondary'), Metrics_Clear_Button: By.css('[data-testid="metrics-selector-buttons"] .btn-tertiary') }, + modalTransitionPopup: { + Title: By.css('.table__item-popup .item-header__title'), + Data_Status: By.css('.table__item-popup .item-header__status-row .updated'), + Refresh_Button: By.css('.table__item-popup .item-header__buttons [data-testid="refresh"]'), + Action_Menu: actionMenu(actionMenuStructureTransitionPopup), + Cross_Close_Button: By.css('.table__item-popup .item-header__buttons [data-testid="details-close-btn"]'), + Tab_Selector: commonTable(infoPaneTabSelector), + Overview_General_Headers: commonTable(infoPaneOverviewHeaders), + Overview_Producer_Headers: commonTable(infoPaneOverviewProducerHeaders), + Overview_Sources_Headers: commonTable(infoPaneOverviewSourcesHeaders), + }, modalWizardForm: { Title: By.css('.modal .modal__header-title'), Cross_Close_Button: By.css('.modal .modal__header-button'), @@ -825,7 +893,7 @@ module.exports = { ) ), Run_Details_Labels_Value: By.css( - '.job-wizard__run-details .form-row:nth-of-type(4) .chips-wrapper [id="runDetails.labels[0].value"]' + 'div:nth-child(4) > div > div.chips__wrapper > div > div > div:nth-child(1) > div > div > div > input.input-label-value' ), Close_Label_Button: By.css( '.job-wizard__run-details .form-row:nth-of-type(4) .chips .chips-wrapper .item-icon-close' diff --git a/tests/features/common/page-objects/jobs-and-workflows.po.js b/tests/features/common/page-objects/jobs-and-workflows.po.js index a00b95037..dcf8ac3cf 100644 --- a/tests/features/common/page-objects/jobs-and-workflows.po.js +++ b/tests/features/common/page-objects/jobs-and-workflows.po.js @@ -42,7 +42,7 @@ const tabSelector = { row: { root: '.content-menu__item', fields: { - key: 'a' + key: '' } } } @@ -246,7 +246,7 @@ const scheduleMonitorTable = { row: { root: '.table-row', fields: { - name: '.table-body__cell:nth-of-type(1) a', + name: '.table-body__cell:nth-of-type(1) > div', type: { componentType: labelComponent, structure: generateLabelGroup( diff --git a/tests/features/common/page-objects/projects.po.js b/tests/features/common/page-objects/projects.po.js index a36f41cc9..43159adfc 100644 --- a/tests/features/common/page-objects/projects.po.js +++ b/tests/features/common/page-objects/projects.po.js @@ -110,10 +110,10 @@ module.exports = { Projects_Table: commonTable(ProjectsTableSelector), Overlay: By.css('#overlay_container .chip-block-hidden_visible'), Active_Projects_Button: By.css( - '.projects__wrapper .projects-content-header .projects-content-header-item .content-menu .content-menu__list li[data-testid=active] a' + '.projects__wrapper .projects-content-header .projects-content-header-item [data-testid="active"] span' ), Archive_Projects_Button: By.css( - '.projects__wrapper .projects-content-header .projects-content-header-item .content-menu .content-menu__list li[data-testid=archived] a' + '.projects__wrapper .projects-content-header .projects-content-header-item [data-testid=archived] a' ), Projects_Sorter: By.css('.projects-content-header-item .sort .split-btn__button:nth-of-type(1)'), Projects_Sort_Dropdown: dropdownComponent( @@ -131,25 +131,7 @@ module.exports = { Projects_Monitoring_Container: { Monitoring_Container: By.css('.projects .projects-monitoring-container'), Monitoring_Container_Title: By.css( - '.projects-monitoring-container .projects-monitoring-legend .page-header__title' - ), - Monitoring_Container_Running_Status: By.css( - '.projects-monitoring-container .projects-monitoring-legend .projects-monitoring-legend__status li:nth-of-type(1)' - ), - Monitoring_Container_Running_Icon: By.css( - '.projects-monitoring-container .projects-monitoring-legend .projects-monitoring-legend__status li:nth-of-type(1) i' - ), - Monitoring_Container_Failed_Status: By.css( - '.projects-monitoring-container .projects-monitoring-legend .projects-monitoring-legend__status li:nth-of-type(2)' - ), - Monitoring_Container_Failed_Icon: By.css( - '.projects-monitoring-container .projects-monitoring-legend .projects-monitoring-legend__status li:nth-of-type(2) i' - ), - Monitoring_Container_Completed_Status: By.css( - '.projects-monitoring-container .projects-monitoring-legend .projects-monitoring-legend__status li:nth-of-type(3)' - ), - Monitoring_Container_Completed_Icon: By.css( - '.projects-monitoring-container .projects-monitoring-legend .projects-monitoring-legend__status li:nth-of-type(3) i' + '.projects-monitoring-container .page-header__title' ), Monitoring_Jobs_Box: By.css( '.projects-monitoring-container .projects-monitoring-stats .stats-card:nth-of-type(1)' @@ -159,101 +141,144 @@ module.exports = { ), Monitoring_Scheduled_Box: By.css( '.projects-monitoring-container .projects-monitoring-stats .stats-card:nth-of-type(3)' + ), + Monitoring_Alerts_Box: By.css( + '.projects-monitoring-container .projects-monitoring-stats .stats-card:nth-of-type(3)' ) }, Monitoring_Jobs_Box: { Monitoring_Jobs_Box_Title: By.css( '.projects-monitoring-stats .stats-card:nth-of-type(1) .stats-card__title' ), - Filtering_Time_Period: By.css('.stats-card:nth-of-type(1) .project-card__info'), + Filtering_Time_Period: By.css('.stats-card:nth-of-type(1) .stats-card__col > div > span'), Total_Counter_Title: By.css( - '.stats-card:nth-of-type(1) .stats-card__row:nth-of-type(2) .stats__subtitle' + '.stats-card:nth-of-type(1) .stats-card__col > div > div > span' ), Total_Counter_Number: By.css( - '.stats-card:nth-of-type(1) .stats-card__row:nth-of-type(2) .stats__counter' + '.stats-card:nth-of-type(1) .stats-card__col > div > div .stats__counter' ), Counter_Running_Status_Number: By.css( - '.stats-card:nth-of-type(1) .stats-card__row:nth-of-type(2) .projects-monitoring-legend__status .link:nth-of-type(1)' + '.stats-card:nth-of-type(1) [data-testid="jobs_running_counter"] .stats__counter' + ), + Counter_Running_Status_Subtitle: By.css( + '.stats-card:nth-of-type(1) [data-testid="jobs_running_counter"] .stats__subtitle' ), Counter_Running_Status_Icon: By.css( - '.stats-card:nth-of-type(1) .stats-card__row:nth-of-type(2) .projects-monitoring-legend__status .link:nth-of-type(1) i' + '.stats-card:nth-of-type(1) [data-testid="jobs_running_counter"] .state-running' ), Counter_Failed_Status_Number: By.css( - '.stats-card:nth-of-type(1) .stats-card__row:nth-of-type(2) .projects-monitoring-legend__status .link:nth-of-type(2)' + '.stats-card:nth-of-type(1) [data-testid="jobs_failed_counter"] .stats__counter' + ), + Counter_Failed_Status_Subtitle: By.css( + '.stats-card:nth-of-type(1) [data-testid="jobs_failed_counter"] .stats__subtitle' ), Counter_Failed_Status_Icon: By.css( - '.stats-card:nth-of-type(1) .stats-card__row:nth-of-type(2) .projects-monitoring-legend__status .link:nth-of-type(2) i' + '.stats-card:nth-of-type(1) [data-testid="jobs_failed_counter"] .state-failed' ), Counter_Completed_Status_Number: By.css( - '.stats-card:nth-of-type(1) .stats-card__row:nth-of-type(2) .projects-monitoring-legend__status .link:nth-of-type(3)' + '.stats-card:nth-of-type(1) [data-testid="jobs_completed_counter"] .stats__counter' ), - Counter_Completed_Status_Icon: By.css( - '.stats-card:nth-of-type(1) .stats-card__row:nth-of-type(2) .projects-monitoring-legend__status .link:nth-of-type(3) i' + Counter_Completed_Status_Subtitle: By.css( + '.stats-card:nth-of-type(1) [data-testid="jobs_completed_counter"] .stats__subtitle' ), - See_All_Link: By.css('.stats-card:nth-of-type(1) .stats-card__row:nth-of-type(3) .link') + Counter_Completed_Status_Icon: By.css( + '.stats-card:nth-of-type(1) [data-testid="jobs_completed_counter"] .state-completed' + ) }, Monitoring_Workflows_Box: { Monitoring_Workflows_Box_Title: By.css( '.projects-monitoring-stats .stats-card:nth-of-type(2) .stats-card__title' ), - Filtering_Time_Period: By.css('.stats-card:nth-of-type(2) .project-card__info'), + Filtering_Time_Period: By.css('.stats-card:nth-of-type(2) .stats-card__col > div > span'), Total_Counter_Title: By.css( - '.stats-card:nth-of-type(2) .stats-card__row:nth-of-type(2) .stats__subtitle' + '.stats-card:nth-of-type(2) .stats-card__col > div > div > span' ), Total_Counter_Number: By.css( - '.stats-card:nth-of-type(2) .stats-card__row:nth-of-type(2) .stats__counter' + '.stats-card:nth-of-type(2) .stats-card__col > div > div .stats__counter' ), Counter_Running_Status_Number: By.css( - '.stats-card:nth-of-type(2) .stats-card__row:nth-of-type(2) .projects-monitoring-legend__status .link:nth-of-type(1)' + '.stats-card:nth-of-type(2) [data-testid="wf_running_counter"] .stats__counter' + ), + Counter_Running_Status_Subtitle: By.css( + '.stats-card:nth-of-type(2) [data-testid="wf_running_counter"] .stats__subtitle' ), Counter_Running_Status_Icon: By.css( - '.stats-card:nth-of-type(2) .stats-card__row:nth-of-type(2) .projects-monitoring-legend__status .link:nth-of-type(1) i' + '.stats-card:nth-of-type(2) [data-testid="wf_running_counter"] .state-running' ), Counter_Failed_Status_Number: By.css( - '.stats-card:nth-of-type(2) .stats-card__row:nth-of-type(2) .projects-monitoring-legend__status .link:nth-of-type(2)' + '.stats-card:nth-of-type(2) [data-testid="wf_failed_counter"] .stats__counter' + ), + Counter_Failed_Status_Subtitle: By.css( + '.stats-card:nth-of-type(2) [data-testid="wf_failed_counter"] .stats__subtitle' ), Counter_Failed_Status_Icon: By.css( - '.stats-card:nth-of-type(2) .stats-card__row:nth-of-type(2) .projects-monitoring-legend__status .link:nth-of-type(2) i' + '.stats-card:nth-of-type(2) [data-testid="wf_failed_counter"] .state-failed' ), Counter_Completed_Status_Number: By.css( - '.stats-card:nth-of-type(2) .stats-card__row:nth-of-type(2) .projects-monitoring-legend__status .link:nth-of-type(3)' + '.stats-card:nth-of-type(2) [data-testid="wf_completed_counter"] .stats__counter' ), - Counter_Completed_Status_Icon: By.css( - '.stats-card:nth-of-type(2) .stats-card__row:nth-of-type(2) .projects-monitoring-legend__status .link:nth-of-type(3) i' + Counter_Completed_Status_Subtitle: By.css( + '.stats-card:nth-of-type(2) [data-testid="wf_completed_counter"] .stats__subtitle' ), - See_All_Link: By.css('.stats-card:nth-of-type(2) .stats-card__row:nth-of-type(3) .link') + Counter_Completed_Status_Icon: By.css( + '.stats-card:nth-of-type(2) [data-testid="wf_completed_counter"] .state-completed' + ) }, Monitoring_Scheduled_Box: { Monitoring_Scheduled_Box_Title: By.css( '.projects-monitoring-stats .stats-card:nth-of-type(3) .stats-card__title' ), - Filtering_Time_Period: By.css('.stats-card:nth-of-type(3) .project-card__info'), + Filtering_Time_Period: By.css('.stats-card:nth-of-type(3) .stats-card__col > div > span'), Total_Job_Counter_Title: By.css( - '.stats-card:nth-of-type(3) .stats-card__row:nth-of-type(2) .stats-card__col:nth-of-type(1) .stats__subtitle' + '.stats-card:nth-of-type(3) [data-testid="scheduled_jobs_counter"] .stats__subtitle' ), Total_Workflows_Counter_Title: By.css( - '.stats-card:nth-of-type(3) .stats-card__row:nth-of-type(2) .stats-card__col:nth-of-type(2) .stats__subtitle' + '.stats-card:nth-of-type(3) [data-testid="scheduled_wf_counter"] .stats__subtitle' ), Total_Scheduled_Title: By.css( - '.stats-card:nth-of-type(3) .stats-card__row:nth-of-type(2) .stats-card__col:nth-of-type(3) .stats__subtitle' + '.stats-card:nth-of-type(3) .stats-card__col > div > div > span' ), Total_Job_Counter_Number: By.css( - '.stats-card:nth-of-type(3) .stats-card__row:nth-of-type(2) .stats-card__col:nth-of-type(1) .stats__counter' + '.stats-card:nth-of-type(3) [data-testid="scheduled_jobs_counter"] .stats__counter' ), Total_Workflows_Counter_Number: By.css( - '.stats-card:nth-of-type(3) .stats-card__row:nth-of-type(2) .stats-card__col:nth-of-type(2) .stats__counter' + '.stats-card:nth-of-type(3) [data-testid="scheduled_wf_counter"] .stats__counter' ), Total_Scheduled_Number: By.css( - '.stats-card:nth-of-type(3) .stats-card__row:nth-of-type(2) .stats-card__col:nth-of-type(3) .stats__counter' + '.stats-card:nth-of-type(3) .stats-card__col > div > div .stats__counter' + ) + }, + Monitoring_Alerts_Box: { + Monitoring_Alerts_Box_Title: By.css( + '.projects-monitoring-stats .stats-card:nth-of-type(4) .stats-card__title' + ), + Monitoring_Alerts_Box_Title_Icon: By.css( + '.projects-monitoring-stats .stats-card:nth-of-type(4) .stats-card__title svg' + ), + Filtering_Time_Period: By.css('.stats-card:nth-of-type(4) .stats-card__col > div > span'), + Total_Endpoint_Counter_Number: By.css( + '.stats-card:nth-of-type(4) [data-testid="alerts_endpoint_counter"] .stats__counter' + ), + Total_Endpoint_Counter_Title: By.css( + '.stats-card:nth-of-type(4) [data-testid="alerts_endpoint_counter"] .stats__subtitle' + ), + Total_Jobs_Counter_Number: By.css( + '.stats-card:nth-of-type(4) [data-testid="alerts_jobs_counter"] .stats__counter' + ), + Total_Jobs_Counter_Title: By.css( + '.stats-card:nth-of-type(4) [data-testid="alerts_jobs_counter"] .stats__subtitle' + ), + Total_Application_Counter_Number: By.css( + '.stats-card:nth-of-type(4) [data-testid="alerts_application_counter"] .stats__counter' ), - Jobs_See_All_Link: By.css( - '.stats-card:nth-of-type(3) .stats-card__row:nth-of-type(3) .stats-card__col:nth-of-type(1) .link' + Total_Application_Counter_Title: By.css( + '.stats-card:nth-of-type(4) [data-testid="alerts_application_counter"] .stats__subtitle' ), - Workflows_See_All_Link: By.css( - '.stats-card:nth-of-type(3) .stats-card__row:nth-of-type(3) .stats-card__col:nth-of-type(2) .link' + Total_Alerts_Title: By.css( + '.stats-card:nth-of-type(4) .stats-card__col > div > div > span' ), - Total_See_All_Link: By.css( - '.stats-card:nth-of-type(3) .stats-card__row:nth-of-type(3) .stats-card__col:nth-of-type(3) .link' + Total_Alerts_Number: By.css( + '.stats-card:nth-of-type(4) .stats-card__col > div > div .stats__counter' ) } } diff --git a/tests/features/datasets.feature b/tests/features/datasets.feature index 27d6b13fb..7ac161084 100644 --- a/tests/features/datasets.feature +++ b/tests/features/datasets.feature @@ -1193,18 +1193,18 @@ Feature: Datasets Page Then verify that 9 row elements are displayed in "Datasets_Table" on "Datasets" wizard Then click on cell with row index 1 in "expand_btn" column in "Datasets_Table" table on "Datasets" wizard And wait load page - Then verify that 10 row elements are displayed in "Datasets_Table" on "Datasets" wizard + Then verify that 9 row elements are displayed in "Datasets_Table" on "Datasets" wizard Then select "View YAML" option in action menu on "Datasets" wizard in "Datasets_Table" table at row with "latest" value in "name_expand_btn" column Then verify if "View_YAML" popup dialog appears - Then verify that 10 row elements are displayed in "Datasets_Table" on "Datasets" wizard + Then verify that 9 row elements are displayed in "Datasets_Table" on "Datasets" wizard Then click on "Cross_Cancel_Button" element on "View_YAML" wizard - Then verify that 10 row elements are displayed in "Datasets_Table" on "Datasets" wizard + Then verify that 9 row elements are displayed in "Datasets_Table" on "Datasets" wizard Then click on cell with row index 2 in "name" column in "Datasets_Table" table on "Datasets" wizard And wait load page Then verify "Info_Pane_Tab_Selector" on "Datasets_Info_Pane" wizard should contains "Datasets_Info_Pane"."Tab_List" - Then verify that 10 row elements are displayed in "Datasets_Table" on "Datasets" wizard + Then verify that 9 row elements are displayed in "Datasets_Table" on "Datasets" wizard Then click on "Cross_Close_Button" element on "Datasets_Info_Pane" wizard - Then verify that 10 row elements are displayed in "Datasets_Table" on "Datasets" wizard + Then verify that 9 row elements are displayed in "Datasets_Table" on "Datasets" wizard Then click on cell with row index 1 in "expand_btn" column in "Datasets_Table" table on "Datasets" wizard And wait load page Then verify that 9 row elements are displayed in "Datasets_Table" on "Datasets" wizard diff --git a/tests/features/featureStore.feature b/tests/features/featureStore.feature index 657a880f1..c56806344 100644 --- a/tests/features/featureStore.feature +++ b/tests/features/featureStore.feature @@ -146,6 +146,7 @@ Feature: Feature Store Page Then click on "Apply_Button" element on "FilterBy_Popup" wizard And wait load page When click on cell with row index 2 in "name" column in "Feature_Sets_Table" table on "Feature_Store_Feature_Sets_Tab" wizard + And wait load page Then verify "Header" element visibility on "Feature_Sets_Info_Pane" wizard Then verify "Updated" element visibility on "Feature_Sets_Info_Pane" wizard Then verify "Apply_Changes_Button" element not exists on "Feature_Sets_Info_Pane" wizard @@ -173,6 +174,7 @@ Feature: Feature Store Page Then verify "Apply_Changes_Button" element not exists on "Feature_Sets_Info_Pane" wizard Then click on "Cross_Close_Button" element on "Feature_Sets_Info_Pane" wizard When click on cell with row index 1 in "name" column in "Feature_Sets_Table" table on "Feature_Store_Feature_Sets_Tab" wizard + And wait load page When add rows to "Labels_Table" table on "Feature_Sets_Info_Pane" wizard | key_input | value_input | | key1 | value1 | @@ -273,6 +275,7 @@ Feature: Feature Store Page And wait load page Then verify "Feature Sets" tab is active in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard When click on cell with row index 1 in "name" column in "Feature_Sets_Table" table on "Feature_Store_Feature_Sets_Tab" wizard + And wait load page Then select "Features" tab in "Info_Pane_Tab_Selector" on "Feature_Sets_Info_Pane" wizard Then verify "Features" tab is active in "Info_Pane_Tab_Selector" on "Features_Info_Pane" wizard Then verify "Feature Sets" tab is active in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard @@ -297,6 +300,7 @@ Feature: Feature Store Page And wait load page Then verify "Feature Sets" tab is active in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard When click on cell with row index 1 in "name" column in "Feature_Sets_Table" table on "Feature_Store_Feature_Sets_Tab" wizard + And wait load page Then select "Transformations" tab in "Info_Pane_Tab_Selector" on "Feature_Sets_Info_Pane" wizard Then verify "Transformations" tab is active in "Info_Pane_Tab_Selector" on "Transformations_Info_Pane" wizard Then verify "Feature Sets" tab is active in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard @@ -322,6 +326,7 @@ Feature: Feature Store Page And wait load page Then verify "Feature Sets" tab is active in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard When click on cell with row index 1 in "name" column in "Feature_Sets_Table" table on "Feature_Store_Feature_Sets_Tab" wizard + And wait load page Then select "Preview" tab in "Info_Pane_Tab_Selector" on "Feature_Sets_Info_Pane" wizard Then verify "Preview" tab is active in "Info_Pane_Tab_Selector" on "Preview_Info_Pane" wizard Then verify "Feature Sets" tab is active in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard @@ -346,6 +351,7 @@ Feature: Feature Store Page And wait load page Then verify "Feature Sets" tab is active in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard When click on cell with row index 1 in "name" column in "Feature_Sets_Table" table on "Feature_Store_Feature_Sets_Tab" wizard + And wait load page Then select "Statistics" tab in "Info_Pane_Tab_Selector" on "Feature_Sets_Info_Pane" wizard Then verify "Statistics" tab is active in "Info_Pane_Tab_Selector" on "Analysis_Info_Pane" wizard Then verify cell with "Statistics" value in "key" column in "Info_Pane_Tab_Selector" table on "Feature_Sets_Info_Pane" wizard should display "Label_Hint"."Feature_Sets_Statistics" @@ -370,6 +376,7 @@ Feature: Feature Store Page And wait load page Then verify "Feature Sets" tab is active in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard When click on cell with row index 1 in "name" column in "Feature_Sets_Table" table on "Feature_Store_Feature_Sets_Tab" wizard + And wait load page Then select "Analysis" tab in "Info_Pane_Tab_Selector" on "Feature_Sets_Info_Pane" wizard Then verify "Analysis" tab is active in "Info_Pane_Tab_Selector" on "Analysis_Info_Pane" wizard Then verify "Feature Sets" tab is active in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard @@ -1220,6 +1227,7 @@ Feature: Feature Store Page And wait load page Then verify "Feature Sets" tab is active in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard When click on cell with row index 1 in "name" column in "Feature_Sets_Table" table on "Feature_Store_Feature_Sets_Tab" wizard + And wait load page Then verify "Action_Menu" element visibility on "Feature_Sets_Info_Pane" wizard Then select "View YAML" option in action menu on "Feature_Sets_Info_Pane" wizard Then verify if "View_YAML" popup dialog appears @@ -1662,6 +1670,7 @@ Feature: Feature Store Page * create "test_fs" Feature Set in "automation-test-name001" project with code 200 Then click on "Table_Refresh_Button" element on "Feature_Store_Feature_Sets_Tab" wizard And click on cell with value "test_fs" in "name" column in "Feature_Sets_Table" table on "Feature_Store_Feature_Sets_Tab" wizard + And wait load page Then select "Preview" tab in "Info_Pane_Tab_Selector" on "Feature_Sets_Info_Pane" wizard And wait load page Then "No_Data_Message" component on "commonPagesHeader" should contains "No_Data_Message"."No_Data" @@ -1678,6 +1687,7 @@ Feature: Feature Store Page * create "test_fv" Feature Vector in "automation-test-name001" project with code 200 Then click on "Table_Refresh_Button" element on "Feature_Store_Features_Vectors_Tab" wizard And click on cell with value "test_fv" in "name" column in "Feature_Vectors_Table" table on "Feature_Store_Features_Vectors_Tab" wizard + And wait load page Then select "Requested Features" tab in "Info_Pane_Tab_Selector" on "Feature_Vectors_Info_Pane" wizard And wait load page Then "No_Data_Message" component on "commonPagesHeader" should contains "No_Data_Message"."No_Data" @@ -1702,7 +1712,7 @@ Feature: Feature Store Page When click on cell with row index 1 in "name" column in "Feature_Sets_Table" table on "Feature_Store_Feature_Sets_Tab" wizard Then verify redirection from "projects/automation-test-010/feature-store/INVALID" to "projects/automation-test-010/feature-store/feature-sets" When click on cell with row index 1 in "name" column in "Feature_Sets_Table" table on "Feature_Store_Feature_Sets_Tab" wizard - Then verify redirection from "projects/automation-test-010/feature-store/feature-sets/INVALID/latest/overview" to "projects/automation-test-010/feature-store/feature-sets/INVALID/latest/overview" + Then verify redirection from "projects/automation-test-010/feature-store/feature-sets/INVALID/latest/overview" to "projects/automation-test-010/feature-store/feature-sets" And select "tab" with "Datasets" value in breadcrumbs menu And wait load page And select "tab" with "Feature store" value in breadcrumbs menu @@ -1732,7 +1742,7 @@ Feature: Feature Store Page When select "Feature Vectors" tab in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard And wait load page When click on cell with row index 1 in "name" column in "Feature_Vectors_Table" table on "Feature_Store_Features_Vectors_Tab" wizard - Then verify redirection from "projects/automation-test-010/feature-store/feature-vectors/INVALID/latest/overview" to "projects/automation-test-010/feature-store/feature-vectors/INVALID/latest/overview" + Then verify redirection from "projects/automation-test-010/feature-store/feature-vectors/INVALID/latest/overview" to "projects/automation-test-010/feature-store/feature-vectors" When select "Features" tab in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard And wait load page When select "Feature Vectors" tab in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard diff --git a/tests/features/jobsAndWorkflows.feature b/tests/features/jobsAndWorkflows.feature index 0910d9319..beda81a12 100644 --- a/tests/features/jobsAndWorkflows.feature +++ b/tests/features/jobsAndWorkflows.feature @@ -181,7 +181,7 @@ Feature: Jobs and workflows And wait load page Then verify "Date_Picker_Filter_Dropdown" element visibility on "Jobs_Monitor_Tab" wizard Then verify "Date_Picker_Filter_Dropdown" dropdown element on "Jobs_Monitor_Tab" wizard should contains "Dropdown_Options"."Date_Picker_Filter_Options" - Then verify "Date_Picker_Filter_Dropdown" dropdown on "Jobs_Monitor_Tab" wizard selected option value "Past 24 hours" + Then verify "Date_Picker_Filter_Dropdown" dropdown on "Jobs_Monitor_Tab" wizard selected option value "Past week" Then verify "Jobs_Monitor_Table" element visibility on "Jobs_Monitor_Tab" wizard When select "Any time" option in "Date_Picker_Filter_Dropdown" filter dropdown on "Jobs_Monitor_Tab" wizard And wait load page @@ -472,7 +472,7 @@ Feature: Jobs and workflows Then verify from "01/01/2021 00:00" to "01/01/2023 00:00" filter band in "Custom_Range_Filter_Dropdown" filter dropdown on "Jobs_Monitor_Tab" wizard Then click on "Arrow_Back" element on "Jobs_Monitor_Tab" wizard And wait load page - Then verify from "01/01/2021 00:00" to "01/01/2023 00:00" filter band in "Custom_Range_Filter_Dropdown" filter dropdown on "Jobs_Monitor_Tab" wizard + Then verify "Date_Picker_Filter_Dropdown" dropdown on "Jobs_Monitor_Tab" wizard selected option value "Any time" @MLJW @smoke @@ -503,7 +503,6 @@ Feature: Jobs and workflows Then verify "Updated" element visibility on "Jobs_Monitor_Tab_Info_Pane" wizard Then verify "Cross_Close_Button" element visibility on "Jobs_Monitor_Tab_Info_Pane" wizard Then verify "Resource_Monitoring_Button" element visibility on "Jobs_Monitor_Tab_Info_Pane" wizard - Then verify "Info_Pane_Refresh_Button" element visibility on "Jobs_Monitor_Tab_Info_Pane" wizard Then verify "Info_Pane_Tab_Selector" on "Jobs_Monitor_Tab_Info_Pane" wizard should contains "Jobs_Monitor_Tab_Info_Pane"."Tab_List" Then verify "Overview" tab is active in "Info_Pane_Tab_Selector" on "Jobs_Monitor_Tab_Info_Pane" wizard Then verify "Overview_Headers" on "Jobs_Monitor_Tab_Info_Pane" wizard should contains "Jobs_Monitor_Tab_Info_Pane"."Overview_Headers" @@ -683,6 +682,26 @@ Feature: Jobs and workflows Then "Cancel_Button" element on "Common_Popup" should contains "Cancel" value Then verify "Delete_Button" element visibility on "Common_Popup" wizard Then "Delete_Button" element on "Common_Popup" should contains "Delete" value + Then click on "Cancel_Button" element on "Common_Popup" wizard + And wait load page + Then select "project" with "cat-vs-dog-classification" value in breadcrumbs menu + And wait load page + Then verify breadcrumbs "project" label should be equal "cat-vs-dog-classification" value + Then verify "Schedule" tab is active in "Jobs_Tab_Selector" on "Jobs_Monitor_Tab" wizard + Then select "Delete" option in action menu on "Schedule_Monitor_Tab" wizard in "Schedule_Monitor_Table" table at row with "tf2-serving" value in "name" column + Then verify if "Common_Popup" popup dialog appears + Then click on "Delete_Button" element on "Common_Popup" wizard + And wait load page + Then verify "Notification_Pop_Up" element visibility on "Notification_Popup" wizard + And wait load page + And wait load page + Then "Notification_Pop_Up" element on "Notification_Popup" should contains "Job is successfully deleted" value + And wait load page + Then verify "Notification_Pop_Up_Cross_Close_Button" element visibility on "Notification_Popup" wizard + Then click on "Notification_Pop_Up_Cross_Close_Button" element on "Notification_Popup" wizard + Then check "tf2-serving" value not in "name" column in "Schedule_Monitor_Table" table on "Schedule_Monitor_Tab" wizard + When click on cell with row index 1 in "name" column in "Schedule_Monitor_Table" table on "Schedule_Monitor_Tab" wizard + And wait load page @MLJW @smoke @@ -1031,7 +1050,7 @@ Feature: Jobs and workflows Then click on "Title" element on "FilterBy_Popup" wizard Then click on "Apply_Button" element on "FilterBy_Popup" wizard And wait load page - Then verify options in action menu on "Jobs_Monitor_Tab" wizard in "Jobs_Monitor_Table" table with "Error" value in "status" column should contains "Jobs_And_Workflows"."Job_Action_Menu_Options" + Then verify options in action menu on "Jobs_Monitor_Tab" wizard in "Jobs_Monitor_Table" table with "Error. [Errno 2] No such file or directory: \'\'" value in "status" column should contains "Jobs_And_Workflows"."Job_Action_Menu_Options" Then click on "Table_FilterBy_Button" element on "Jobs_Monitor_Tab" wizard Then select "Error" option in "Status_Filter_Dropdown" filter dropdown on "FilterBy_Popup" wizard Then click on "Title" element on "FilterBy_Popup" wizard @@ -1248,7 +1267,6 @@ Feature: Jobs and workflows Then verify "Notification_Pop_Up_Cross_Close_Button" element visibility on "Notification_Popup" wizard Then click on "Notification_Pop_Up_Cross_Close_Button" element on "Notification_Popup" wizard - @MLJW @smoke Scenario: MLJW083 - Check redirection to Last Run Drill-down from Schedules tab @@ -2404,6 +2422,68 @@ Feature: Jobs and workflows Then verify "Parameters_Headers" on "Modal_Wizard_Form" wizard should contains "Modal_Wizard_Form"."Parameters_Table_Header" Then verify "Hyper_Toggle_Switch" element not exists in "Parameters_Accordion" on "Modal_Wizard_Form" wizard + @MLJW + @smoke + Scenario: MLJW049 - Check Abort action on Monitor Jobs tab + Given open url + And wait load page + And click on row root with value "default" in "name" column in "Projects_Table" table on "Projects" wizard + And wait load page + And hover "Project_Navigation_Toggler" component on "commonPagesHeader" wizard + And click on cell with value "Jobs and workflows" in "link" column in "General_Info_Quick_Links" table on "commonPagesHeader" wizard + And hover "MLRun_Logo" component on "commonPagesHeader" wizard + And wait load page + Then verify "Monitor Jobs" tab is active in "Jobs_Tab_Selector" on "Jobs_Monitor_Tab" wizard + Then select "Abort" option in action menu on "Jobs_Monitor_Tab" wizard in "Jobs_Monitor_Table" table at row with "erann-test" value in "name" column + And wait load page + Then verify if "Common_Popup" popup dialog appears + Then verify "Cross_Cancel_Button" element visibility on "Common_Popup" wizard + Then verify "Title" element visibility on "Common_Popup" wizard + Then click on "Cross_Cancel_Button" element on "Common_Popup" wizard + And wait load page + Then verify "Title" element not exists on "Common_Popup" wizard + Then select "Abort" option in action menu on "Jobs_Monitor_Tab" wizard in "Jobs_Monitor_Table" table at row with "erann-test" value in "name" column + And wait load page + Then verify if "Common_Popup" popup dialog appears + Then verify "Cross_Cancel_Button" element visibility on "Common_Popup" wizard + Then verify "Title" element visibility on "Common_Popup" wizard + Then "Title" element on "Common_Popup" should contains "Abort job?" value + Then "Description" element on "Common_Popup" should contains "Are you sure you want to abort the job \"erann-test\"?" value + Then verify "Confirm_Button" element visibility on "Common_Popup" wizard + Then verify "Confirm_Button" element on "Common_Popup" wizard is enabled + Then "Confirm_Button" element on "Common_Popup" should contains "Abort" value + Then verify "Cancel_Button" element visibility on "Common_Popup" wizard + Then verify "Cancel_Button" element on "Common_Popup" wizard is enabled + Then "Cancel_Button" element on "Common_Popup" should contains "Cancel" value + Then click on "Cancel_Button" element on "Common_Popup" wizard + And wait load page + Then verify "Title" element not exists on "Common_Popup" wizard + Then select "Abort" option in action menu on "Jobs_Monitor_Tab" wizard in "Jobs_Monitor_Table" table at row with "erann-test" value in "name" column + And wait load page + Then click on "Confirm_Button" element on "Common_Popup" wizard + And wait load page + Then verify "Notification_Pop_Up" element visibility on "Notification_Popup" wizard + And wait load page + Then "Notification_Pop_Up" element on "Notification_Popup" should contains "Job abortion in progress" value + And wait load page + Then verify "Notification_Pop_Up_Cross_Close_Button" element visibility on "Notification_Popup" wizard + Then click on "Notification_Pop_Up_Cross_Close_Button" element on "Notification_Popup" wizard + Then verify "Table_Refresh_Button" element visibility on "Jobs_Monitor_Tab" wizard + Then click on "Table_Refresh_Button" element on "Jobs_Monitor_Tab" wizard + And wait load page + Then value in "status" column with "tooltip" in "Jobs_Monitor_Table" on "Jobs_Monitor_Tab" wizard should contains "Aborting" + Then wait for 10 seconds + Then verify "Notification_Pop_Up" element visibility on "Notification_Popup" wizard + And wait load page + Then "Notification_Pop_Up" element on "Notification_Popup" should contains "Job erann-test was aborted" value + And wait load page + Then verify "Notification_Pop_Up_Cross_Close_Button" element visibility on "Notification_Popup" wizard + Then click on "Notification_Pop_Up_Cross_Close_Button" element on "Notification_Popup" wizard + Then verify "Table_Refresh_Button" element visibility on "Jobs_Monitor_Tab" wizard + Then click on "Table_Refresh_Button" element on "Jobs_Monitor_Tab" wizard + And wait load page + Then value in "status" column with "tooltip" in "Jobs_Monitor_Table" on "Jobs_Monitor_Tab" wizard should contains "Aborted" + @MLJW @passive @smoke @@ -2433,4 +2513,35 @@ Feature: Jobs and workflows Then "Retry_Button" element on "Notification_Popup" should contains "RETRY" value Then verify "Notification_Pop_Up_Cross_Close_Button" element visibility on "Notification_Popup" wizard Then click on "Notification_Pop_Up_Cross_Close_Button" element on "Notification_Popup" wizard - \ No newline at end of file + + @MLJW + @passive + @smoke + Scenario: MLJW088 - Verify filtering by workflows status on Workflows Monitor tab + Given open url + And wait load page + And click on row root with value "cat-vs-dog-classification" in "name" column in "Projects_Table" table on "Projects" wizard + And wait load page + And hover "Project_Navigation_Toggler" component on "commonPagesHeader" wizard + And click on cell with value "Jobs and workflows" in "link" column in "General_Info_Quick_Links" table on "commonPagesHeader" wizard + And hover "MLRun_Logo" component on "commonPagesHeader" wizard + And wait load page + And select "Monitor Workflows" tab in "Jobs_Tab_Selector" on "Jobs_Monitor_Tab" wizard + When select "Any time" option in "Date_Picker_Filter_Dropdown" filter dropdown on "Jobs_Monitor_Tab" wizard + And wait load page + Then value in "status" column with "tooltip" in "Workflows_Monitor_Table" on "Workflows_Monitor_Tab" wizard should contains "Completed" + Then value in "status" column with "tooltip" in "Workflows_Monitor_Table" on "Workflows_Monitor_Tab" wizard should contains "Failed" + When click on cell with row index 2 in "name" column in "Workflows_Monitor_Table" table on "Workflows_Monitor_Tab" wizard + And wait load page + Then click on "Toggle_View_Button" element on "Workflows_Monitor_Tab" wizard + And wait load page + Then value in "status" column with "tooltip" in "Workflow_List_View_Table" on "Workflows_Monitor_Tab" wizard should contains "Error" + Then value in "status" column with "tooltip" in "Workflow_List_View_Table" on "Workflows_Monitor_Tab" wizard should contains "Completed" + And hover "MLRun_Logo" component on "commonPagesHeader" wizard + And wait load page + When click on cell with row index 2 in "name" column in "Workflow_List_View_Table" table on "Workflows_Monitor_Tab" wizard + And wait load page + Then verify "State_Icon" element visibility on "Workflows_Monitor_Tab_Info_Pane" wizard + Then verify "State_Icon" element on "Workflows_Monitor_Tab_Info_Pane" wizard should display hover tooltip "Common_Tooltips"."Error_Content_Workflow" + Then verify "Error_Content" element visibility on "Workflows_Monitor_Tab_Info_Pane" wizard + \ No newline at end of file diff --git a/tests/features/projectsPage.feature b/tests/features/projectsPage.feature index 8da52e3c1..aec171634 100644 --- a/tests/features/projectsPage.feature +++ b/tests/features/projectsPage.feature @@ -338,18 +338,10 @@ Feature: Projects Page Then verify "Monitoring_Container" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then verify "Monitoring_Container_Title" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then "Monitoring_Container_Title" element in "Projects_Monitoring_Container" on "Projects" should contains "Monitoring" value - Then verify "Monitoring_Container_Running_Status" element visibility in "Projects_Monitoring_Container" on "Projects" wizard - Then verify "Monitoring_Container_Running_Icon" element visibility in "Projects_Monitoring_Container" on "Projects" wizard - Then "Monitoring_Container_Running_Status" element in "Projects_Monitoring_Container" on "Projects" should contains "In Process" value - Then verify "Monitoring_Container_Failed_Status" element visibility in "Projects_Monitoring_Container" on "Projects" wizard - Then verify "Monitoring_Container_Failed_Icon" element visibility in "Projects_Monitoring_Container" on "Projects" wizard - Then "Monitoring_Container_Failed_Status" element in "Projects_Monitoring_Container" on "Projects" should contains "Failed" value - Then verify "Monitoring_Container_Completed_Status" element visibility in "Projects_Monitoring_Container" on "Projects" wizard - Then verify "Monitoring_Container_Completed_Icon" element visibility in "Projects_Monitoring_Container" on "Projects" wizard - Then "Monitoring_Container_Completed_Status" element in "Projects_Monitoring_Container" on "Projects" should contains "Succeeded" value Then verify "Monitoring_Jobs_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then verify "Monitoring_Workflows_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then verify "Monitoring_Scheduled_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard + Then verify "Monitoring_Alerts_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard And click on row root with value "default" in "name" column in "Projects_Table" table on "Projects" wizard And wait load page Then verify breadcrumbs "tab" label should be equal "Project monitoring" value @@ -360,6 +352,7 @@ Feature: Projects Page Then verify "Monitoring_Jobs_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then verify "Monitoring_Workflows_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then verify "Monitoring_Scheduled_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard + Then verify "Monitoring_Alerts_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard And click on row root with value "default" in "name" column in "Projects_Table" table on "Projects" wizard Then verify breadcrumbs "tab" label should be equal "Project monitoring" value Then verify breadcrumbs "project" label should be equal "default" value @@ -369,14 +362,13 @@ Feature: Projects Page Then verify "Monitoring_Jobs_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then verify "Monitoring_Workflows_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then verify "Monitoring_Scheduled_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard + Then verify "Monitoring_Alerts_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard @MLPr @smoke Scenario: MLPr016 - Check components on Jobs counter box Given open url And wait load page - And turn on demo mode - And wait load page Then verify "Monitoring_Container" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then verify "Monitoring_Container_Title" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then "Monitoring_Container_Title" element in "Projects_Monitoring_Container" on "Projects" should contains "Monitoring" value @@ -386,38 +378,48 @@ Feature: Projects Page Then verify "Filtering_Time_Period" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard Then "Filtering_Time_Period" element in "Monitoring_Jobs_Box" on "Projects" should contains "Past 24 hours" value Then verify "Total_Counter_Title" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard - Then "Total_Counter_Title" element in "Monitoring_Jobs_Box" on "Projects" should contains "Jobs" value + Then "Total_Counter_Title" element in "Monitoring_Jobs_Box" on "Projects" should contains "Total" value Then verify "Total_Counter_Number" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard - Then "Total_Counter_Number" element in "Monitoring_Jobs_Box" on "Projects" should contains "20" value Then verify "Counter_Running_Status_Number" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard + Then verify "Counter_Running_Status_Subtitle" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard + Then "Counter_Running_Status_Subtitle" element in "Monitoring_Jobs_Box" on "Projects" should contains "In Process" value Then verify "Counter_Running_Status_Icon" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard - Then "Counter_Running_Status_Number" element in "Monitoring_Jobs_Box" on "Projects" should contains "16" value + Then verify "Counter_Running_Status_Icon" element in "Monitoring_Jobs_Box" on "Projects" wizard should display hover tooltip "Common_Tooltips"."In_Process_Jobs" Then verify "Counter_Failed_Status_Number" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard + Then verify "Counter_Failed_Status_Subtitle" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard + Then "Counter_Failed_Status_Subtitle" element in "Monitoring_Jobs_Box" on "Projects" should contains "Failed" value Then verify "Counter_Failed_Status_Icon" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard - Then "Counter_Failed_Status_Number" element in "Monitoring_Jobs_Box" on "Projects" should contains "3" value + Then verify "Counter_Failed_Status_Icon" element in "Monitoring_Jobs_Box" on "Projects" wizard should display hover tooltip "Common_Tooltips"."Failed_Jobs" Then verify "Counter_Completed_Status_Number" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard + Then verify "Counter_Completed_Status_Subtitle" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard + Then "Counter_Completed_Status_Subtitle" element in "Monitoring_Jobs_Box" on "Projects" should contains "Succeeded" value Then verify "Counter_Completed_Status_Icon" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard + Then verify "Counter_Completed_Status_Icon" element in "Monitoring_Jobs_Box" on "Projects" wizard should display hover tooltip "Common_Tooltips"."Succeeded" Then "Counter_Completed_Status_Number" element in "Monitoring_Jobs_Box" on "Projects" should contains "1" value - Then verify "See_All_Link" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard - Then "See_All_Link" element in "Monitoring_Jobs_Box" on "Projects" should contains "See all" value When click on "Counter_Running_Status_Number" element in "Monitoring_Jobs_Box" on "Projects" wizard And wait load page - Then verify redirection to "projects/*/jobs-monitoring/jobs" + Then verify redirection to "projects/*/jobs-monitoring/jobs?state=running%2Cpending%2Caborting&dates=anyTime&bePage=1&fePage=1" Then navigate back And wait load page When click on "Counter_Failed_Status_Number" element in "Monitoring_Jobs_Box" on "Projects" wizard And wait load page - Then verify redirection to "projects/*/jobs-monitoring/jobs" + Then verify redirection to "projects/*/jobs-monitoring/jobs?state=error%2Caborted&bePage=1&fePage=1" + Then verify breadcrumbs "cross" label should be equal "Jobs monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value Then navigate back And wait load page When click on "Counter_Completed_Status_Number" element in "Monitoring_Jobs_Box" on "Projects" wizard And wait load page - Then verify redirection to "projects/*/jobs-monitoring/jobs" + Then verify redirection to "projects/*/jobs-monitoring/jobs?state=completed&bePage=1&fePage=1" + Then verify breadcrumbs "cross" label should be equal "Jobs monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value Then navigate back And wait load page - When click on "See_All_Link" element in "Monitoring_Jobs_Box" on "Projects" wizard + When click on "Total_Counter_Number" element in "Monitoring_Jobs_Box" on "Projects" wizard And wait load page - Then verify redirection to "projects/*/jobs-monitoring/jobs" + Then verify redirection to "projects/*/jobs-monitoring/jobs?state=all&bePage=1&fePage=1" + Then verify breadcrumbs "cross" label should be equal "Jobs monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value Then navigate back And wait load page Then verify "Monitoring_Container" element visibility in "Projects_Monitoring_Container" on "Projects" wizard @@ -427,8 +429,6 @@ Feature: Projects Page Scenario: MLPr017 - Check components on Workflows counter box Given open url And wait load page - And turn on demo mode - And wait load page Then verify "Monitoring_Container" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then verify "Monitoring_Container_Title" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then "Monitoring_Container_Title" element in "Projects_Monitoring_Container" on "Projects" should contains "Monitoring" value @@ -438,37 +438,48 @@ Feature: Projects Page Then verify "Filtering_Time_Period" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard Then "Filtering_Time_Period" element in "Monitoring_Workflows_Box" on "Projects" should contains "Past 24 hours" value Then verify "Total_Counter_Title" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard - Then "Total_Counter_Title" element in "Monitoring_Workflows_Box" on "Projects" should contains "Workflows" value + Then "Total_Counter_Title" element in "Monitoring_Workflows_Box" on "Projects" should contains "Total" value Then verify "Total_Counter_Number" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard - Then "Total_Counter_Number" element in "Monitoring_Workflows_Box" on "Projects" should contains "3" value Then verify "Counter_Running_Status_Number" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard + Then verify "Counter_Running_Status_Subtitle" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard + Then "Counter_Running_Status_Subtitle" element in "Monitoring_Workflows_Box" on "Projects" should contains "In Process" value Then verify "Counter_Running_Status_Icon" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard - Then "Counter_Running_Status_Number" element in "Monitoring_Workflows_Box" on "Projects" should contains "0" value + Then verify "Counter_Running_Status_Icon" element in "Monitoring_Workflows_Box" on "Projects" wizard should display hover tooltip "Common_Tooltips"."In_Process_Workflows" Then verify "Counter_Failed_Status_Number" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard + Then verify "Counter_Failed_Status_Subtitle" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard + Then "Counter_Failed_Status_Subtitle" element in "Monitoring_Workflows_Box" on "Projects" should contains "Failed" value Then verify "Counter_Failed_Status_Icon" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard - Then "Counter_Failed_Status_Number" element in "Monitoring_Workflows_Box" on "Projects" should contains "1" value + Then verify "Counter_Failed_Status_Icon" element in "Monitoring_Workflows_Box" on "Projects" wizard should display hover tooltip "Common_Tooltips"."Failed_Worflows" Then verify "Counter_Completed_Status_Number" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard + Then verify "Counter_Completed_Status_Subtitle" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard + Then "Counter_Completed_Status_Subtitle" element in "Monitoring_Workflows_Box" on "Projects" should contains "Succeeded" value Then verify "Counter_Completed_Status_Icon" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard - Then "Counter_Completed_Status_Number" element in "Monitoring_Workflows_Box" on "Projects" should contains "2" value - Then verify "See_All_Link" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard - Then "See_All_Link" element in "Monitoring_Workflows_Box" on "Projects" should contains "See all" value + Then verify "Counter_Completed_Status_Icon" element in "Monitoring_Workflows_Box" on "Projects" wizard should display hover tooltip "Common_Tooltips"."Succeeded" When click on "Counter_Running_Status_Number" element in "Monitoring_Workflows_Box" on "Projects" wizard And wait load page - Then verify redirection to "projects/*/jobs-monitoring/workflows" + Then verify redirection to "projects/*/jobs-monitoring/workflows?state=running&dates=anyTime" + Then verify breadcrumbs "cross" label should be equal "Jobs monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value Then navigate back And wait load page When click on "Counter_Failed_Status_Number" element in "Monitoring_Workflows_Box" on "Projects" wizard And wait load page - Then verify redirection to "projects/*/jobs-monitoring/workflows" + Then verify redirection to "projects/*/jobs-monitoring/workflows?state=error%2Cfailed" + Then verify breadcrumbs "cross" label should be equal "Jobs monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value Then navigate back And wait load page When click on "Counter_Completed_Status_Number" element in "Monitoring_Workflows_Box" on "Projects" wizard And wait load page - Then verify redirection to "projects/*/jobs-monitoring/workflows" + Then verify redirection to "projects/*/jobs-monitoring/workflows?state=completed" + Then verify breadcrumbs "cross" label should be equal "Jobs monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value Then navigate back And wait load page - When click on "See_All_Link" element in "Monitoring_Workflows_Box" on "Projects" wizard - Then verify redirection to "projects/*/jobs-monitoring/workflows" + When click on "Total_Counter_Number" element in "Monitoring_Workflows_Box" on "Projects" wizard + Then verify redirection to "projects/*/jobs-monitoring/workflows?state=all" + Then verify breadcrumbs "cross" label should be equal "Jobs monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value Then navigate back And wait load page Then verify "Monitoring_Container" element visibility in "Projects_Monitoring_Container" on "Projects" wizard @@ -478,8 +489,6 @@ Feature: Projects Page Scenario: MLPr018 - Check components on Sheduled counter box Given open url And wait load page - And turn on demo mode - And wait load page Then verify "Monitoring_Container" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then verify "Monitoring_Container_Title" element visibility in "Projects_Monitoring_Container" on "Projects" wizard Then "Monitoring_Container_Title" element in "Projects_Monitoring_Container" on "Projects" should contains "Monitoring" value @@ -493,32 +502,136 @@ Feature: Projects Page Then verify "Total_Workflows_Counter_Title" element visibility in "Monitoring_Scheduled_Box" on "Projects" wizard Then "Total_Workflows_Counter_Title" element in "Monitoring_Scheduled_Box" on "Projects" should contains "Workflows" value Then verify "Total_Job_Counter_Number" element visibility in "Monitoring_Scheduled_Box" on "Projects" wizard - Then "Total_Job_Counter_Number" element in "Monitoring_Scheduled_Box" on "Projects" should contains "7" value Then verify "Total_Workflows_Counter_Number" element visibility in "Monitoring_Scheduled_Box" on "Projects" wizard - Then "Total_Workflows_Counter_Number" element in "Monitoring_Scheduled_Box" on "Projects" should contains "1" value - Then verify "Jobs_See_All_Link" element visibility in "Monitoring_Scheduled_Box" on "Projects" wizard - Then "Jobs_See_All_Link" element in "Monitoring_Scheduled_Box" on "Projects" should contains "See all" value - Then verify "Workflows_See_All_Link" element visibility in "Monitoring_Scheduled_Box" on "Projects" wizard - Then "Workflows_See_All_Link" element in "Monitoring_Scheduled_Box" on "Projects" should contains "See all" value Then verify "Total_Scheduled_Title" element visibility in "Monitoring_Scheduled_Box" on "Projects" wizard Then "Total_Scheduled_Title" element in "Monitoring_Scheduled_Box" on "Projects" should contains "Total" value Then verify "Total_Scheduled_Number" element visibility in "Monitoring_Scheduled_Box" on "Projects" wizard - Then "Total_Scheduled_Number" element in "Monitoring_Scheduled_Box" on "Projects" should contains "8" value - Then verify "Total_See_All_Link" element visibility in "Monitoring_Scheduled_Box" on "Projects" wizard - Then "Total_See_All_Link" element in "Monitoring_Scheduled_Box" on "Projects" should contains "See all" value - When click on "Jobs_See_All_Link" element in "Monitoring_Scheduled_Box" on "Projects" wizard - Then verify redirection to "projects/*/jobs-monitoring/scheduled" + When click on "Total_Scheduled_Number" element in "Monitoring_Scheduled_Box" on "Projects" wizard + Then verify redirection to "projects/*/jobs-monitoring/scheduled?type=all" + Then verify breadcrumbs "cross" label should be equal "Jobs monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value And wait load page Then navigate back And wait load page - When click on "Workflows_See_All_Link" element in "Monitoring_Scheduled_Box" on "Projects" wizard - Then verify redirection to "projects/*/jobs-monitoring/scheduled" + When click on "Total_Workflows_Counter_Number" element in "Monitoring_Scheduled_Box" on "Projects" wizard + Then verify redirection to "projects/*/jobs-monitoring/scheduled?type=workflow" + Then verify breadcrumbs "cross" label should be equal "Jobs monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value And wait load page Then navigate back And wait load page - When click on "Total_See_All_Link" element in "Monitoring_Scheduled_Box" on "Projects" wizard - Then verify redirection to "projects/*/jobs-monitoring/scheduled" + When click on "Total_Job_Counter_Number" element in "Monitoring_Scheduled_Box" on "Projects" wizard + Then verify redirection to "projects/*/jobs-monitoring/scheduled?type=job" + Then verify breadcrumbs "cross" label should be equal "Jobs monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value + And wait load page + Then navigate back + And wait load page + Then verify "Monitoring_Container" element visibility in "Projects_Monitoring_Container" on "Projects" wizard + + @MLPr + @smoke + Scenario: MLPr020 - Check components on Alerts counter box + Given open url + And wait load page + Then verify "Monitoring_Container" element visibility in "Projects_Monitoring_Container" on "Projects" wizard + Then verify "Monitoring_Container_Title" element visibility in "Projects_Monitoring_Container" on "Projects" wizard + Then "Monitoring_Container_Title" element in "Projects_Monitoring_Container" on "Projects" should contains "Monitoring" value + Then verify "Monitoring_Alerts_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard + Then verify "Monitoring_Alerts_Box_Title" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then "Monitoring_Alerts_Box_Title" element in "Monitoring_Alerts_Box" on "Projects" should contains "Alerts" value + Then verify "Monitoring_Alerts_Box_Title_Icon" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then verify "Filtering_Time_Period" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then "Filtering_Time_Period" element in "Monitoring_Alerts_Box" on "Projects" should contains "Past 24 hours" value + Then verify "Total_Endpoint_Counter_Title" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then "Total_Endpoint_Counter_Title" element in "Monitoring_Alerts_Box" on "Projects" should contains "Endpoint" value + Then verify "Total_Endpoint_Counter_Number" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then verify "Total_Jobs_Counter_Title" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then "Total_Jobs_Counter_Title" element in "Monitoring_Alerts_Box" on "Projects" should contains "Jobs" value + Then verify "Total_Jobs_Counter_Number" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then verify "Total_Application_Counter_Title" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then "Total_Application_Counter_Title" element in "Monitoring_Alerts_Box" on "Projects" should contains "Application" value + Then verify "Total_Application_Counter_Number" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then verify "Total_Alerts_Title" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then "Total_Alerts_Title" element in "Monitoring_Alerts_Box" on "Projects" should contains "Total" value + Then verify "Total_Alerts_Number" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then "Total_Alerts_Number" element in "Monitoring_Alerts_Box" on "Projects" should contains "27" value + When click on "Total_Alerts_Number" element in "Monitoring_Alerts_Box" on "Projects" wizard + Then verify redirection to "projects/*/alerts?bePage=1&fePage=1" + Then verify breadcrumbs "cross" label should be equal "Alerts monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value + And wait load page + Then navigate back + And wait load page + When click on "Total_Endpoint_Counter_Number" element in "Monitoring_Alerts_Box" on "Projects" wizard + Then verify redirection to "projects/*/alerts?entity-type=model-endpoint-result&bePage=1&fePage=1" + Then verify breadcrumbs "cross" label should be equal "Alerts monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value + And wait load page + Then navigate back + And wait load page + When click on "Total_Jobs_Counter_Number" element in "Monitoring_Alerts_Box" on "Projects" wizard + Then verify redirection to "projects/*/alerts?entity-type=job&bePage=1&fePage=1" + Then verify breadcrumbs "cross" label should be equal "Alerts monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value + And wait load page + Then navigate back + And wait load page + When click on "Total_Application_Counter_Number" element in "Monitoring_Alerts_Box" on "Projects" wizard + Then verify redirection to "projects/*/alerts?entity-type=model-monitoring-application&bePage=1&fePage=1" + Then verify breadcrumbs "cross" label should be equal "Alerts monitoring" value + Then verify breadcrumbs "projectsPage" label should be equal "Projects" value + And wait load page + Then navigate back And wait load page + Then verify "Monitoring_Container" element visibility in "Projects_Monitoring_Container" on "Projects" wizard + + @MLPr + @smoke + Scenario: MLPr021 - Check components numbers on Monitoring container + Given open url + And wait load page + Then verify "Monitoring_Container" element visibility in "Projects_Monitoring_Container" on "Projects" wizard + Then verify "Monitoring_Container_Title" element visibility in "Projects_Monitoring_Container" on "Projects" wizard + Then "Monitoring_Container_Title" element in "Projects_Monitoring_Container" on "Projects" should contains "Monitoring" value + Then verify "Monitoring_Jobs_Box_Title" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard + Then "Monitoring_Jobs_Box_Title" element in "Monitoring_Jobs_Box" on "Projects" should contains "Jobs" value + Then verify "Total_Counter_Number" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard + Then "Total_Counter_Number" element in "Monitoring_Jobs_Box" on "Projects" should contains "20" value + Then verify "Counter_Running_Status_Number" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard + Then "Counter_Running_Status_Number" element in "Monitoring_Jobs_Box" on "Projects" should contains "16" value + Then verify "Counter_Failed_Status_Number" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard + Then "Counter_Failed_Status_Number" element in "Monitoring_Jobs_Box" on "Projects" should contains "3" value + Then verify "Counter_Completed_Status_Number" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard + Then "Counter_Completed_Status_Number" element in "Monitoring_Jobs_Box" on "Projects" should contains "1" value + Then verify "Monitoring_Workflows_Box_Title" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard + Then "Monitoring_Workflows_Box_Title" element in "Monitoring_Workflows_Box" on "Projects" should contains "Workflows" value + Then verify "Total_Counter_Number" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard + Then "Total_Counter_Number" element in "Monitoring_Workflows_Box" on "Projects" should contains "3" value + Then verify "Counter_Running_Status_Number" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard + Then "Counter_Running_Status_Number" element in "Monitoring_Workflows_Box" on "Projects" should contains "0" value + Then verify "Counter_Failed_Status_Number" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard + Then "Counter_Failed_Status_Number" element in "Monitoring_Workflows_Box" on "Projects" should contains "1" value + Then verify "Counter_Completed_Status_Number" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard + Then "Counter_Completed_Status_Number" element in "Monitoring_Workflows_Box" on "Projects" should contains "2" value + Then verify "Monitoring_Scheduled_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard + Then verify "Monitoring_Scheduled_Box_Title" element visibility in "Monitoring_Scheduled_Box" on "Projects" wizard + Then "Monitoring_Scheduled_Box_Title" element in "Monitoring_Scheduled_Box" on "Projects" should contains "Scheduled" value + Then verify "Total_Job_Counter_Number" element visibility in "Monitoring_Scheduled_Box" on "Projects" wizard + Then "Total_Job_Counter_Number" element in "Monitoring_Scheduled_Box" on "Projects" should contains "7" value + Then verify "Total_Workflows_Counter_Number" element visibility in "Monitoring_Scheduled_Box" on "Projects" wizard + Then "Total_Workflows_Counter_Number" element in "Monitoring_Scheduled_Box" on "Projects" should contains "1" value + Then verify "Total_Scheduled_Number" element visibility in "Monitoring_Scheduled_Box" on "Projects" wizard + Then "Total_Scheduled_Number" element in "Monitoring_Scheduled_Box" on "Projects" should contains "8" value + Then verify "Monitoring_Alerts_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard + Then verify "Monitoring_Alerts_Box_Title" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then "Monitoring_Alerts_Box_Title" element in "Monitoring_Alerts_Box" on "Projects" should contains "Alerts" value + Then verify "Total_Endpoint_Counter_Number" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then "Total_Endpoint_Counter_Number" element in "Monitoring_Alerts_Box" on "Projects" should contains "8" value + Then verify "Total_Jobs_Counter_Number" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then "Total_Jobs_Counter_Number" element in "Monitoring_Alerts_Box" on "Projects" should contains "10" value + Then verify "Total_Application_Counter_Number" element visibility in "Monitoring_Alerts_Box" on "Projects" wizard + Then "Total_Application_Counter_Number" element in "Monitoring_Alerts_Box" on "Projects" should contains "9" value @MLPr @mlrunUnhealthyTest diff --git a/tests/features/step-definitions/steps.js b/tests/features/step-definitions/steps.js index a9f5212b9..2eddb642d 100644 --- a/tests/features/step-definitions/steps.js +++ b/tests/features/step-definitions/steps.js @@ -1047,6 +1047,18 @@ Then( } ) +Then( + 'verify {string} element in {string} on {string} wizard should display hover tooltip {string}.{string}', + async function(inputField, accordion, wizard, constStorage, constValue) { + await checkComponentHintTextWithHover( + this.driver, + pageObjects[wizard][accordion][inputField], + pageObjects['commonPagesHeader']['Common_Tolltip'], + pageObjectsConsts[constStorage][constValue] + ) + } +) + Then( 'verify {string} on {string} wizard should display {string}.{string} in {string}', async function(inputField, wizard, constStorage, constValue, commonTipType) { diff --git a/tests/mockServer/data/artifacts.json b/tests/mockServer/data/artifacts.json index 4f9fef73b..94e78fe28 100644 --- a/tests/mockServer/data/artifacts.json +++ b/tests/mockServer/data/artifacts.json @@ -107,7 +107,12 @@ "name": "churn-project-admin", "tag": "latest" }, - "sources": [] + "sources": [ + { + "name": "dataset", + "path": "store://datasets/churn-project-admin/survival-curves_km-timelines#0:latest" + } + ] }, "status": {} }, diff --git a/tests/mockServer/mock.js b/tests/mockServer/mock.js index 34781f15e..fb9db713d 100644 --- a/tests/mockServer/mock.js +++ b/tests/mockServer/mock.js @@ -436,10 +436,10 @@ function getFeatureSet(req, res) { if (req.query['format'] === 'minimal') { collectedFeatureSets = collectedFeatureSets.map(featureSet => { - const metadataFields = ['description', 'name', 'project', 'tag', 'uid', 'labels'].map( + const metadataFields = ['name', 'project', 'tag', 'uid', 'labels'].map( fieldName => `metadata.${fieldName}` ) - const specFields = ['entities', 'targets', 'engine'].map(fieldName => `spec.${fieldName}`) + const specFields = ['description', 'entities', 'targets', 'engine'].map(fieldName => `spec.${fieldName}`) return pick(featureSet, ['kind', ...metadataFields, 'status.state', ...specFields]) }) @@ -1369,6 +1369,12 @@ function getArtifacts(req, res) { ) } + collectedArtifacts = collectedArtifacts.sort((prevArtifact, nextArtifact) => { + const datePrevArtifact = new Date(prevArtifact.metadata.updated) + const dateNextArtifact = new Date(nextArtifact.metadata.updated) + return dateNextArtifact - datePrevArtifact + }) + const [paginatedArtifacts, pagination] = getPaginationConfig(collectedArtifacts, req.query) res.send({ artifacts: paginatedArtifacts, pagination })