From 8fcb3191ddf8b05f22786ee1a90ff057d7593faa Mon Sep 17 00:00:00 2001 From: Olena Zhelnytska Date: Fri, 18 Jul 2025 17:59:53 +0200 Subject: [PATCH] Updated tests to align with latest requirements: - updated tests to reflect changes in counters - adjusted tests for Retry Run functionality - updated tests with Analysis tab checks on Feature Store and Datasets pages - removed Quick actions test suite from regression run - updated Alerts monitoring tests with new mock data --- package.json | 2 +- tests/features/MLFunction.feature | 11 ++-- tests/features/alertsMonitoring.feature | 31 ++++++--- tests/features/artifacts.feature | 6 +- tests/features/common-tools/common-consts.js | 28 ++++---- .../common/actions/dropdown.action.js | 21 +++++- .../common/page-objects/feature-store.po.js | 2 +- .../common/page-objects/info-pane.po.js | 7 +- .../page-objects/interactive-popup.po.js | 14 +++- .../common/page-objects/monitoring-app.po.js | 1 - .../common/page-objects/projects.po.js | 66 +++++++++++-------- tests/features/datasets.feature | 26 ++++---- tests/features/featureStore.feature | 13 +--- tests/features/jobsAndWorkflows.feature | 4 +- tests/features/jobsMonitoring.feature | 3 +- tests/features/monitoringApp.feature | 6 +- tests/features/projectMonitoring.feature | 21 +++++- tests/features/projectsPage.feature | 37 ++++++++--- tests/features/quickActions.feature | 21 ------ tests/features/step-definitions/steps.js | 16 ++++- .../features/step-definitions/table.steps.js | 8 +++ 21 files changed, 214 insertions(+), 130 deletions(-) diff --git a/package.json b/package.json index 631fded06c..a1f7959e7e 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "babel-runtime": "^6.26.0", "body-parser": "^1.19.0", "chai": "^4.3.4", - "chromedriver": "^136.0.0", + "chromedriver": "^138.0.0", "cross-env": "^7.0.3", "css-loader": "^6.5.1", "cucumber-html-reporter": "^5.3.0", diff --git a/tests/features/MLFunction.feature b/tests/features/MLFunction.feature index 0f11d0f3cc..b374c1d777 100644 --- a/tests/features/MLFunction.feature +++ b/tests/features/MLFunction.feature @@ -1369,14 +1369,14 @@ Feature: ML Functions And wait load page When click on cell with row index 2 in "name" column in "Functions_Table" table on "ML_Functions" wizard And wait load page - Then verify redirection from "projects/default/functions/model-monitoring-stream/latest/INVALID" to "projects/default/functions/model-monitoring-stream/latest/overview" + Then verify redirection from "projects/default/functions/model-monitoring-stream/latest/INVALID?dates=anyTime" to "projects/default/functions/model-monitoring-stream/latest/overview?dates=anyTime" Then select "Code" tab in "Info_Pane_Tab_Selector" on "ML_Function_Info_Pane" wizard And wait load page - Then verify redirection from "projects/default/functions/model-monitoring-stream/latest/INVALID" to "projects/default/functions/model-monitoring-stream/latest/overview" + Then verify redirection from "projects/default/functions/model-monitoring-stream/latest/CodeINVALID?dates=anyTime" to "projects/default/functions/model-monitoring-stream/latest/overview?dates=anyTime" Then select "Build Log" tab in "Info_Pane_Tab_Selector" on "ML_Function_Info_Pane" wizard And wait load page - Then verify redirection from "projects/default/functions/model-monitoring-stream/latest/INVALID" to "projects/default/functions/model-monitoring-stream/latest/overview" - Then verify redirection from "projects/default/INVALID/model-monitoring-stream/latest/overview" to "projects" + Then verify redirection from "projects/default/functions/model-monitoring-stream/latest/BuildLogINVALID?dates=anyTime" to "projects/default/functions/model-monitoring-stream/latest/overview?dates=anyTime" + Then verify redirection from "projects/default/INVALID/model-monitoring-stream/latest/overview?dates=anyTime" to "projects" @MLF @smoke @@ -1445,6 +1445,8 @@ Feature: ML Functions Then verify "New_Function_Build_Commands_Text_Area" not input element in "Code_Accordion" on "New_Function" wizard is enabled Then click on "Save_Button" element on "New_Function" wizard And wait load page + When turn on staging mode with query params "true" + And wait load page Then check "demo-function-02" value in "name" column in "Functions_Table" table on "ML_Functions" wizard Then verify "Table_FilterBy_Button" element visibility on "ML_Functions" wizard Then click on "Table_FilterBy_Button" element on "ML_Functions" wizard @@ -1456,6 +1458,7 @@ Feature: ML Functions And wait load page Then check "demo-function-02" value in "name" column in "Functions_Table" table on "ML_Functions" wizard When click on cell with value "demo-function-02" in "name" column in "Functions_Table" table on "ML_Functions" wizard + And wait load page Then check "demo-function-02" value in "name" column in "Overview_Table" table on "ML_Function_Info_Pane" wizard Then "Header" element on "ML_Function_Info_Pane" should contains "demo-function-02" value diff --git a/tests/features/alertsMonitoring.feature b/tests/features/alertsMonitoring.feature index 7ea7488fdc..049ff554bc 100644 --- a/tests/features/alertsMonitoring.feature +++ b/tests/features/alertsMonitoring.feature @@ -342,7 +342,6 @@ Feature: Alerts Monitoring Page @MLAM @smoke - # TODO: Add data to the mock to check the following elements Scenario: MLAM007 - Check components on Endpoints alert detail pane Given open url And wait load page @@ -379,20 +378,34 @@ Feature: Alerts Monitoring Page Then verify "Overview_Trigger_Criteria" on "Alerts_Endpoint_Info_Pane" wizard should contains "Alerts_Jobs_Info_Pane"."Overview_Trigger_Criteria_Headers" Then verify "Notifications_Header" element visibility on "Alerts_Endpoint_Info_Pane" wizard Then verify "Notifications_Item" element visibility on "Alerts_Endpoint_Info_Pane" wizard - Then verify "Date_Picker_Filter_Dropdown" element visibility on "Alerts_Endpoint_Info_Pane" wizard - Then verify "Date_Picker_Filter_Dropdown" dropdown on "Alerts_Endpoint_Info_Pane" wizard selected option value "Past 24 hours" - Then verify "Date_Picker_Filter_Dropdown" dropdown element on "Alerts_Endpoint_Info_Pane" wizard should contains "Dropdown_Options"."Date_Picker_Filter_Options_Endpoint" - Then click on "Header" element on "Alerts_Endpoint_Info_Pane" wizard - And wait load page - # Add data to the mock to check the following elements - # Then verify "Metrics_App_Name" element visibility on "Alerts_Endpoint_Info_Pane" wizard - # Then verify "Metrics_Stats_Card" element visibility on "Alerts_Endpoint_Info_Pane" wizard Then verify "Metrics_Stats_Card_Empty" element visibility on "Alerts_Endpoint_Info_Pane" wizard + Then "Metrics_Stats_Card_Empty" element on "Alerts_Endpoint_Info_Pane" should contains "Metrics data not found" value Then click on "Cross_Close_Button" element on "Alerts_Endpoint_Info_Pane" wizard Then verify "Header" element not exists on "Alerts_Endpoint_Info_Pane" wizard When click on cell with row index 1 in "alertName" column in "Alerts_Table" table on "Alerts_Monitoring" wizard And wait load page Then verify "Header" element visibility on "Alerts_Endpoint_Info_Pane" wizard + When select "Any time" option in "Date_Picker_Filter_Dropdown" filter dropdown on "Alerts_Monitoring" wizard + And wait load page + When click on cell with value "alert-name-uqbxb-proj-default" in "alertName" column in "Alerts_Table" table on "Alerts_Monitoring" wizard + And wait load page + Then verify "Header" element visibility on "Alerts_Endpoint_Info_Pane" wizard + Then verify "Overview_General_Headers" element visibility on "Alerts_Endpoint_Info_Pane" wizard + Then verify "Overview_General_Headers" on "Alerts_Endpoint_Info_Pane" wizard should contains "Alerts_Endpoint_Info_Pane"."Overview_General_Headers" + Then verify "Overview_Trigger_Criteria" element visibility on "Alerts_Endpoint_Info_Pane" wizard + Then verify "Overview_Trigger_Criteria" on "Alerts_Endpoint_Info_Pane" wizard should contains "Alerts_Jobs_Info_Pane"."Overview_Trigger_Criteria_Headers" + Then verify "Notifications_Header" element visibility on "Alerts_Endpoint_Info_Pane" wizard + Then verify "Notifications_Item" element visibility on "Alerts_Endpoint_Info_Pane" wizard + Then verify "Date_Picker_Filter_Dropdown" element visibility on "Alerts_Endpoint_Info_Pane" wizard + Then verify "Date_Picker_Filter_Dropdown" dropdown on "Alerts_Endpoint_Info_Pane" wizard selected option value "Past 24 hours" + Then verify "Date_Picker_Filter_Dropdown" dropdown element on "Alerts_Endpoint_Info_Pane" wizard should contains "Dropdown_Options"."Date_Picker_Filter_Options_Endpoint" + Then click on "Header" element on "Alerts_Endpoint_Info_Pane" wizard + And wait load page + Then verify "Metrics_App_Name" element visibility on "Alerts_Endpoint_Info_Pane" wizard + Then verify "Metrics_Stats_Card" element visibility on "Alerts_Endpoint_Info_Pane" wizard + Then verify "Metrics_Stats_Card_Metric_Name" element visibility on "Alerts_Endpoint_Info_Pane" wizard + Then verify "Metrics_Stats_Card_Metric_BodyBar" element visibility on "Alerts_Endpoint_Info_Pane" wizard + Then verify "Metrics_Stats_Card_Metric_BodyLine" element visibility on "Alerts_Endpoint_Info_Pane" wizard @MLAM @smoke diff --git a/tests/features/artifacts.feature b/tests/features/artifacts.feature index 941178179d..cf16832b42 100644 --- a/tests/features/artifacts.feature +++ b/tests/features/artifacts.feature @@ -480,11 +480,11 @@ Feature: Artifacts 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 "Header" element visibility on "Files_Info_Pane" wizard - Then "Header" element on "Files_Info_Pane" should contains "test-file" value - #TODO: Verify text message 'The you are viewing was updated. Close the detail panel and refresh the list to see the current version.' on Files_Info_Pane + Then "Header" element on "Files_Info_Pane" should contains "survival-curves_km-survival" value + Then verify "Not_In_Filtered_List_Message" element visibility on "Files_Info_Pane" wizard + Then "Not_In_Filtered_List_Message" component on "Files_Info_Pane" should be equal "Files_Info_Pane"."Info_Banner_Message" #TODO: Verify that editing the tag to an empty string '' will delete the artifact instance - @MLA @passive @inProgress diff --git a/tests/features/common-tools/common-consts.js b/tests/features/common-tools/common-consts.js index 1b68abc227..2b18e7e480 100644 --- a/tests/features/common-tools/common-consts.js +++ b/tests/features/common-tools/common-consts.js @@ -74,8 +74,7 @@ export default { }, Feature_Sets_Info_Pane: { Created_State: 'Created', - Tab_List: ['Overview', 'Features', 'Transformations', 'Preview', 'Statistics'], - Tab_List_Demo: ['Overview', 'Features', 'Transformations', 'Preview', 'Statistics', 'Analysis'], + Tab_List: ['Overview', 'Features', 'Transformations', 'Preview', 'Statistics', 'Analysis'], Overview_General_Headers: [ 'Description:', 'Labels:', @@ -90,7 +89,7 @@ export default { ] }, Feature_Vectors_Info_Pane: { - Tab_List: ['Overview', 'Requested Features'], + Tab_List: ['Overview', 'Requested Features', 'Analysis'], Overview_General_Headers: [ 'Description:', 'Labels:', @@ -116,8 +115,8 @@ export default { Ranking_Criteria_List: ['Min', 'Max'] }, Datasets_Info_Pane: { - Tab_List: ['Overview', 'Preview', 'Metadata'], - Info_Banner_Message: /The (.+?) is not in the filtered list\. Closing the details panel will return you to the current list\./, + Tab_List: ['Overview', 'Preview', 'Metadata', 'Analysis'], + Info_Banner_Message: /The dataset is not in the filtered list\. Closing the details panel will return you to the current list\./, Overview_General_Headers: [ 'Hash:', 'Key:', @@ -385,13 +384,14 @@ export default { Refresh_Button: 'Refresh', Back_Button: 'Back', Expand_All_Button: 'Expand all', - In_Process_Jobs: 'Aborting, Pending, Running', + In_Process_Jobs: 'Aborting, Pending, Pending retry, Running', Running_Tip: 'Running', Failed_Tip: 'Failed', Failed_Jobs: 'Aborted, Error', Failed_Worflows: 'Error, Failed', Succeeded: 'Completed', Statistics_Tab_Tip: 'Statistics reflect the data for the latest ingestion. \n Note that some values may be empty due to the use of different engines for calculating statistics', + Monitoring_Jobs_Box_Title_Tip: 'Number of Job runs, clicking on the counters navigates to jobs screen.', 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'" @@ -533,9 +533,8 @@ export default { Operating_Functions: 'System functions that are used for the monitoring application operation', Lag: 'Number of messages currently waiting in the app\'s queue', Commited_Offset: 'Total number of messages handled by the app', - App_Status_Tip: 'Some tip', Endpoints_Tip: 'Model endpoints processed by the monitoring app during the selected time frame', - Metrics_Tip: 'Metrics tip', + Metrics_Tip: 'This table displays the values of the last metrics captured by the monitoring application. If there are metrics for more than one model endpoint at the same time, the table displays only one of those.', Shards_Partitions_Status_Tip: 'This table displays the current status of each shard' }, Descriptions: { @@ -639,18 +638,19 @@ export default { 'Completed', 'Error', 'Running', - 'Pending' + 'Pending', + 'Pending retry' ], Workflows_Status_Filter_Options: ['All', 'Error', 'Failed', 'Running', 'Completed'], Jobs_Type_Filter_Options: [ 'All', - 'Local', - 'Dask', - 'Databricks', - 'Handler', 'Job', + 'Spark', 'Horovod', - 'Spark' + 'Dask', + 'Databricks', + 'Local', + 'Handler' ], Scheduled_Type_Filter_Options: [ 'All', diff --git a/tests/features/common/actions/dropdown.action.js b/tests/features/common/actions/dropdown.action.js index 5fadbb95a8..dab8af11eb 100644 --- a/tests/features/common/actions/dropdown.action.js +++ b/tests/features/common/actions/dropdown.action.js @@ -102,13 +102,32 @@ export const checkDropdownContainsOptions = async (driver, dropdown, values) => notPresent.push(option) } } + + let extraPresent = [] + for (let option of options) { + if (values.every(item => item !== option)) { + extraPresent.push(option) + } + } + expect(notPresent.length).equal( 0, '\nOptions not present: ' + notPresent + '\noptions: ' + options + - '\nconst: ' + + '\nexpected: ' + + values + + '\n' + ) + + expect(extraPresent.length).equal( + 0, + '\nExtra unexpected options: ' + + extraPresent + + '\noptions: ' + + options + + '\nexpected: ' + values + '\n' ) diff --git a/tests/features/common/page-objects/feature-store.po.js b/tests/features/common/page-objects/feature-store.po.js index d4f6cd9b7f..bccd4f6d1a 100644 --- a/tests/features/common/page-objects/feature-store.po.js +++ b/tests/features/common/page-objects/feature-store.po.js @@ -47,7 +47,7 @@ const tabSelector = { const actionMenuStructure = { root: '.actions-menu__container', menuElements: { - open_button: 'button', + open_button: '[data-testid="actions-menu"]', options: '.actions-menu__body .actions-menu__option' } } diff --git a/tests/features/common/page-objects/info-pane.po.js b/tests/features/common/page-objects/info-pane.po.js index 3fa4609baf..abf58665ea 100644 --- a/tests/features/common/page-objects/info-pane.po.js +++ b/tests/features/common/page-objects/info-pane.po.js @@ -1030,8 +1030,11 @@ export default { false ) ), - Metrics_App_Name: By.css('.item-info__details-metrics .alerts-table__metrics .metrics__app-name'), - Metrics_Stats_Card: By.css('.item-info__details-metrics .alerts-table__metrics .metrics__card'), + Metrics_App_Name: By.css('[data-testid="detailsPanel"] .metrics .alerts-table__metrics-header'), + Metrics_Stats_Card: By.css('[data-testid="detailsPanel"] .metrics .metrics__card'), + Metrics_Stats_Card_Metric_Name: By.css('[data-testid="detailsPanel"] .metrics .metrics__card .stats-card__title .stats-card__title-wrapper'), + Metrics_Stats_Card_Metric_BodyBar: By.css('[data-testid="detailsPanel"] .metrics .metrics__card .metrics__card-body .metrics__card-body-bar'), + Metrics_Stats_Card_Metric_BodyLine: By.css('[data-testid="detailsPanel"] .metrics .metrics__card .metrics__card-body .metrics__card-body-line'), Metrics_Stats_Card_Empty: By.css('[data-testid="detailsPanel"] .metrics__empty-select') }, alertsApplicationInfoPane: { diff --git a/tests/features/common/page-objects/interactive-popup.po.js b/tests/features/common/page-objects/interactive-popup.po.js index 3e38b435fc..888df3cb86 100644 --- a/tests/features/common/page-objects/interactive-popup.po.js +++ b/tests/features/common/page-objects/interactive-popup.po.js @@ -1488,7 +1488,7 @@ export default { } }), Discard_Button: By.css('.apply-discard-buttons .pop-up-dialog__btn_cancel'), - Apply_Button: By.css('.apply-discard-buttons button.btn-secondary') + Apply_Button: By.css('.apply-discard-buttons .btn-primary') }, projectMembersPopup: { Cross_Cancel_Button: commonCrossCancelButton, @@ -1551,7 +1551,7 @@ export default { } }), Discard_Button: By.css('.apply-discard-buttons .pop-up-dialog__btn_cancel'), - Apply_Button: By.css('.apply-discard-buttons button.btn-secondary'), + Apply_Button: By.css('.apply-discard-buttons .btn-primary'), Footer_Annotation_Label: By.css('.footer-annotation') }, createNewSecretPopup: { @@ -1737,7 +1737,7 @@ export default { generateDropdownGroup( '[data-testid="type-form-field-select"]', '[data-testid="select-header"]', - '[data-testid="select-option"] [data-testid="tooltip-wrapper"]' + '.options-list .select__item:not(.hidden) .tooltip-wrapper' ) ), Show_Iterations_Checkbox: checkboxComponent({ @@ -1796,6 +1796,14 @@ export default { icon: '' } }), + Status_Pending_retry_Checkbox: checkboxComponent({ + root: '[data-testid="select-checkbox"]:nth-of-type(8)', + elements: { + checkbox: 'input', + name: 'label', + icon: '' + } + }), Status_Aborted_Checkbox: checkboxComponent({ root: '[data-testid="select-checkbox"]:nth-of-type(2)', elements: { diff --git a/tests/features/common/page-objects/monitoring-app.po.js b/tests/features/common/page-objects/monitoring-app.po.js index bd3f4d0ab3..94b3eb5e84 100644 --- a/tests/features/common/page-objects/monitoring-app.po.js +++ b/tests/features/common/page-objects/monitoring-app.po.js @@ -322,7 +322,6 @@ export default { Application_Metrics_Button: By.css('.action-bar [data-testid="btn"] span'), Refresh_Button: By.css('.action-bar [data-testid="refresh"] button'), App_Status_Title: By.css('.monitoring-application__statistics-section .stats-card:nth-of-type(1) .stats-card__title span'), - App_Status_Tip: By.css('.monitoring-application__statistics-section .stats-card:nth-of-type(1) [data-testid="tip"] svg'), App_Status_SubTitle: By.css('.monitoring-application__statistics-section .stats-card:nth-of-type(1) [data-testid="monitoring-app-appStatus"] .stats__counter'), Endpoints_Title: By.css('.monitoring-application__statistics-section .stats-card:nth-of-type(2) .stats-card__title span'), Endpoints_Tip: By.css('.monitoring-application__statistics-section .stats-card:nth-of-type(2) [data-testid="tip"] svg'), diff --git a/tests/features/common/page-objects/projects.po.js b/tests/features/common/page-objects/projects.po.js index 7f780fc86b..113267f1d6 100644 --- a/tests/features/common/page-objects/projects.po.js +++ b/tests/features/common/page-objects/projects.po.js @@ -101,7 +101,22 @@ const ProjectsTableSelector = { } } +const projectsTabSelector = { + root: '.projects-content-header .content-menu', + header: {}, + body: { + root: '.content-menu__tabs', + row: { + root: '.content-menu__tab', + fields: { + key: '' + } + } + } +} + export default { + Projects_Tab_Selector: commonTable(projectsTabSelector), Retrieving_Projects_Message: By.css('[data-testid=no-data]'), No_Archived_Projects_Message: By.css('.no-filtered-data'), New_Project_Button: By.css( @@ -150,41 +165,41 @@ export default { }, Monitoring_Jobs_Box: { Monitoring_Jobs_Box_Title: By.css( - '.projects-monitoring-stats .stats-card:nth-of-type(1) .stats-card__title' + '.projects-monitoring-stats > div:nth-child(2) .stats-card__title .tooltip-wrapper' ), - 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__col > div > div > span' + Monitoring_Jobs_Box_Title_Tip: By.css( + '.projects-monitoring-stats > div:nth-child(2) .stats-card__title [data-testid="tip"] svg' ), + Filtering_Time_Period: By.css('.projects-monitoring-stats > div:nth-child(2) span'), Total_Counter_Number: By.css( - '.stats-card:nth-of-type(1) .stats-card__col > div > div .stats__counter' + '.projects-monitoring-stats > div:nth-child(2) [data-testid="scheduled_total_counter"]' ), Counter_Running_Status_Number: By.css( - '.stats-card:nth-of-type(1) [data-testid="jobs_running_counter"] .stats__counter' + '.projects-monitoring-stats > div:nth-child(2) .stats__details .stats-card__row:nth-of-type(1) .stats__counter' ), Counter_Running_Status_Subtitle: By.css( - '.stats-card:nth-of-type(1) [data-testid="jobs_running_counter"] .stats__subtitle' + '.projects-monitoring-stats > div:nth-child(2) .stats-card__row:nth-of-type(1) .stats__subtitle' ), Counter_Running_Status_Icon: By.css( - '.stats-card:nth-of-type(1) [data-testid="jobs_running_counter"] .state-running' + '.projects-monitoring-stats > div:nth-child(2) .stats-card__row:nth-of-type(1) .state-running' ), Counter_Failed_Status_Number: By.css( - '.stats-card:nth-of-type(1) [data-testid="jobs_failed_counter"] .stats__counter' + '.projects-monitoring-stats > div:nth-child(2) .stats__details .stats-card__row:nth-of-type(2) .stats__counter' ), Counter_Failed_Status_Subtitle: By.css( - '.stats-card:nth-of-type(1) [data-testid="jobs_failed_counter"] .stats__subtitle' + '.projects-monitoring-stats > div:nth-child(2) .stats-card__row:nth-of-type(2) .stats__subtitle' ), Counter_Failed_Status_Icon: By.css( - '.stats-card:nth-of-type(1) [data-testid="jobs_failed_counter"] .state-failed' + '.projects-monitoring-stats > div:nth-child(2) .stats-card__row:nth-of-type(2) .state-failed' ), Counter_Completed_Status_Number: By.css( - '.stats-card:nth-of-type(1) [data-testid="jobs_completed_counter"] .stats__counter' + '.projects-monitoring-stats > div:nth-child(2) .stats__details .stats-card__row:nth-of-type(3) .stats__counter' ), Counter_Completed_Status_Subtitle: By.css( - '.stats-card:nth-of-type(1) [data-testid="jobs_completed_counter"] .stats__subtitle' + '.projects-monitoring-stats > div:nth-child(2) .stats-card__row:nth-of-type(3) .stats__subtitle' ), Counter_Completed_Status_Icon: By.css( - '.stats-card:nth-of-type(1) [data-testid="jobs_completed_counter"] .state-completed' + '.projects-monitoring-stats > div:nth-child(2) .stats-card__row:nth-of-type(3) .state-completed' ) }, Monitoring_Workflows_Box: { @@ -192,11 +207,8 @@ export default { '.projects-monitoring-stats .stats-card:nth-of-type(2) .stats-card__title' ), 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__col > div > div > span' - ), Total_Counter_Number: By.css( - '.stats-card:nth-of-type(2) .stats-card__col > div > div .stats__counter' + '.projects-monitoring-stats > div:nth-child(3) [data-testid="scheduled_total_counter"]' ), Counter_Running_Status_Number: By.css( '.stats-card:nth-of-type(2) [data-testid="wf_running_counter"] .stats__counter' @@ -247,40 +259,40 @@ export default { '.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__col > div > div .stats__counter' + '.projects-monitoring-stats > div:nth-child(4) [data-testid="scheduled_total_counter"]' ) }, Monitoring_Alerts_Box: { Monitoring_Alerts_Box_Title: By.css( - '.projects-monitoring-stats .stats-card:nth-of-type(4) .stats-card__title' + '.projects-monitoring-stats .alerts-card .stats-card__title .data-ellipsis' ), 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' + '.projects-monitoring-stats .alerts-card .stats__details [data-testid="alerts_endpoints_counter"]' ), Total_Endpoint_Counter_Title: By.css( - '.stats-card:nth-of-type(4) [data-testid="alerts_endpoint_counter"] .stats__subtitle' + '.projects-monitoring-stats .alerts-card .stats__details [data-testid="alerts_endpoints_counter"] h6' ), Total_Jobs_Counter_Number: By.css( - '.stats-card:nth-of-type(4) [data-testid="alerts_jobs_counter"] .stats__counter' + '.projects-monitoring-stats .alerts-card .stats__details [data-testid="alerts_job_counter"]' ), Total_Jobs_Counter_Title: By.css( - '.stats-card:nth-of-type(4) [data-testid="alerts_jobs_counter"] .stats__subtitle' + '.projects-monitoring-stats .alerts-card .stats__details [data-testid="alerts_job_counter"] h6' ), Total_Application_Counter_Number: By.css( - '.stats-card:nth-of-type(4) [data-testid="alerts_application_counter stats__counter-large"] .stats__counter' + '.projects-monitoring-stats .alerts-card .stats__details [data-testid="alerts_application_counter"]' ), Total_Application_Counter_Title: By.css( - '.stats-card:nth-of-type(4) [data-testid="alerts_application_counter stats__counter-large"] .stats__subtitle' + '.projects-monitoring-stats .alerts-card .stats__details [data-testid="alerts_application_counter"] .stats__subtitle' ), Total_Alerts_Title: By.css( '.stats-card:nth-of-type(4) .stats-card__col > div > div > span' ), Total_Alerts_Number: By.css( - '.stats-card:nth-of-type(4) .stats-card__col > div > div .stats__counter' + '.projects-monitoring-stats .alerts-card [data-testid="alerts_total_counter"]' ) } } diff --git a/tests/features/datasets.feature b/tests/features/datasets.feature index d1e932e1e1..da894c1002 100644 --- a/tests/features/datasets.feature +++ b/tests/features/datasets.feature @@ -88,6 +88,7 @@ Feature: Datasets Page @MLD @passive @smoke + #TODO: Datasets Analysis tab - add the data to verify Scenario: MLD003 - Check all mandatory components in Item infopane on Overview tab table on Datasets page Given open url And wait load page @@ -142,6 +143,7 @@ Feature: Datasets Page @MLD @passive @smoke + #TODO: Datasets Analysis tab - add the data to verify Scenario: MLD005 - Check Details panel still active on page refresh # * set tear-down property "dataset" created in "automation-test" project with "test-file" value * create "test-dataset" Dataset with "v1" tag in "default" project with code 200 @@ -468,7 +470,6 @@ Feature: Datasets Page When select "V3IO" option in "Path_Scheme_Combobox" combobox on "Target_Path" accordion on "Register_Dataset" wizard When type value "target/path" to "Path_Scheme_Combobox" field on "Target_Path" on "Register_Dataset" wizard Then click on "Register_Button" element on "Register_Dataset" wizard - And wait load page Then verify if "Confirm_Popup" popup dialog appears Then "Title" element on "Confirm_Popup" should contains "Overwrite dataset?" value When click on "Overwrite_Button" element on "Confirm_Popup" wizard @@ -482,19 +483,22 @@ Feature: Datasets Page Then click on "History_Back_Button" element on "Datasets" wizard When click on cell with row index 1 in "name" column in "Datasets_Table" table on "Datasets" 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 "An error occurred while retrieving the dataset." 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 "Header" element visibility on "Datasets_Info_Pane" wizard + Then "Header" element on "Datasets_Info_Pane" should contains "test-regressor_cox-test-summary" value + Then verify "Not_In_Filtered_List_Message" element visibility on "Datasets_Info_Pane" wizard + Then "Not_In_Filtered_List_Message" component on "Datasets_Info_Pane" should be equal "Datasets_Info_Pane"."Info_Banner_Message" Then click on "Table_Refresh_Button" element on "Datasets" wizard And wait load page + Then "Header" element on "Datasets_Info_Pane" should contains "test-regressor_cox-test-summary" value + Then verify "Not_In_Filtered_List_Message" element not exists on "Datasets_Info_Pane" wizard + Then click on "Cross_Close_Button" element on "Datasets_Info_Pane" wizard + And wait load page + Then verify "Datasets_Table" element visibility on "Datasets" wizard When click on cell with row index 1 in "name" column in "Datasets_Table" table on "Datasets" wizard And wait load page - Then verify "Header" element visibility on "Files_Info_Pane" wizard + Then verify "Header" element visibility on "Datasets_Info_Pane" wizard Then "Header" element on "Files_Info_Pane" should contains "test-regressor_cox-test-summary" value - #TODO: Verify text message 'The you are viewing was updated. Close the detail panel and refresh the list to see the current version.' on Files_Info_Pane + Then verify "Not_In_Filtered_List_Message" element not exists on "Datasets_Info_Pane" wizard #TODO: Verify that editing the tag to an empty string '' will delete the artifact instance @MLD @@ -668,6 +672,7 @@ Feature: Datasets Page @MLD @smoke + #TODO: check the loader after click on "Register_Button" element on "Register_Dataset" wizard Scenario: MLD011 - Check that version tag has "Click to add" status when it's empty after edited Given open url And wait load page @@ -691,7 +696,6 @@ Feature: Datasets Page When select "V3IO" option in "Path_Scheme_Combobox" combobox on "Target_Path" accordion on "Register_Dataset" wizard When type value "target/path" to "Path_Scheme_Combobox" field on "Target_Path" on "Register_Dataset" wizard Then click on "Register_Button" element on "Register_Dataset" wizard - And wait load page Then verify if "Confirm_Popup" popup dialog appears Then "Title" element on "Confirm_Popup" should contains "Overwrite dataset?" value When click on "Overwrite_Button" element on "Confirm_Popup" wizard @@ -705,6 +709,7 @@ Feature: Datasets Page @MLD @smoke + #TODO: check the loader after click on "Register_Button" element on "Register_Dataset" wizard Scenario: MLD012 - Check filter by "All" tag is performed when version tag was edited Given open url And wait load page @@ -743,7 +748,6 @@ Feature: Datasets Page When select "V3IO" option in "Path_Scheme_Combobox" combobox on "Target_Path" accordion on "Register_Dataset" wizard When type value "target/path" to "Path_Scheme_Combobox" field on "Target_Path" on "Register_Dataset" wizard Then click on "Register_Button" element on "Register_Dataset" wizard - And wait load page Then verify if "Confirm_Popup" popup dialog appears Then "Title" element on "Confirm_Popup" should contains "Overwrite dataset?" value When click on "Overwrite_Button" element on "Confirm_Popup" wizard diff --git a/tests/features/featureStore.feature b/tests/features/featureStore.feature index 00c3a282b9..61d354f342 100644 --- a/tests/features/featureStore.feature +++ b/tests/features/featureStore.feature @@ -209,7 +209,6 @@ Feature: Feature Store Page @passive @inProgress @smoke - # Moved analyses tabs to Demo mode in `1.8.0` ML-9059 Scenario: MLFS005 - Check all mandatory components in Item infopane on Overview tab table on Feature Vectors tab Given open url And wait load page @@ -2300,6 +2299,7 @@ Feature: Feature Store Page @MLFS @smoke + #TODO: check the loader after select "Delete" option in action menu on "Feature_Store_Features_Vectors_Tab" wizard in "Feature_Vectors_Table" table Scenario: MLFS061 - Check Feature vector deletion Given open url And wait load page @@ -2313,7 +2313,6 @@ Feature: Feature Store Page And wait load page Then verify "Feature Vectors" tab is active in "Feature_Store_Tab_Selector" on "Feature_Store_Feature_Sets_Tab" wizard Then select "Delete" option in action menu on "Feature_Store_Features_Vectors_Tab" wizard in "Feature_Vectors_Table" table at row with "patient-deterioration" value in "name" column - And wait load page Then verify if "Confirm_Popup" popup dialog appears Then "Title" element on "Confirm_Popup" should contains "Delete feature vector?" value Then verify "Cross_Cancel_Button" element visibility on "Confirm_Popup" wizard @@ -2328,7 +2327,6 @@ Feature: Feature Store Page When click on "Cancel_Button" element on "Confirm_Popup" wizard And wait load page Then select "Delete" option in action menu on "Feature_Store_Features_Vectors_Tab" wizard in "Feature_Vectors_Table" table at row with "patient-deterioration" value in "name" column - And wait load page Then verify if "Confirm_Popup" popup dialog appears Then verify "Cross_Cancel_Button" element visibility on "Confirm_Popup" wizard When click on "Cross_Cancel_Button" element on "Confirm_Popup" wizard @@ -2341,13 +2339,11 @@ Feature: Feature Store Page And wait load page Then check "expand_btn" visibility in "Feature_Vectors_Table" on "Feature_Store_Features_Vectors_Tab" wizard with 0 offset Then select "Delete" option in action menu on "Feature_Store_Features_Vectors_Tab" wizard in "Feature_Vectors_Table" table at row with "patient-deterioration" value in "name" column - And wait load page Then verify if "Confirm_Popup" popup dialog appears When click on "Cancel_Button" element on "Confirm_Popup" wizard And wait load page Then click on cell with row index 2 in "expand_btn" column in "Feature_Vectors_Table" table on "Feature_Store_Features_Vectors_Tab" wizard Then select "Delete" option in action menu on "Feature_Store_Features_Vectors_Tab" wizard in "Feature_Vectors_Table" table at row with "latest" value in "name_expand_btn" column - And wait load page Then verify if "Confirm_Popup" popup dialog appears Then "Title" element on "Confirm_Popup" should contains "Delete feature vector?" value Then verify "Cross_Cancel_Button" element visibility on "Confirm_Popup" wizard @@ -2362,13 +2358,11 @@ Feature: Feature Store Page When click on "Cancel_Button" element on "Confirm_Popup" wizard And wait load page Then select "Delete" option in action menu on "Feature_Store_Features_Vectors_Tab" wizard in "Feature_Vectors_Table" table at row with "latest" value in "name_expand_btn" column - And wait load page When click on "Cancel_Button" element on "Confirm_Popup" wizard And wait load page When click on cell with row index 2 in "name" column in "Feature_Vectors_Table" table on "Feature_Store_Features_Vectors_Tab" wizard Then verify "Header" element visibility on "Feature_Vectors_Info_Pane" wizard Then select "Delete" option in action menu on "Feature_Vectors_Info_Pane" wizard - And wait load page Then verify if "Confirm_Popup" popup dialog appears Then "Title" element on "Confirm_Popup" should contains "Delete feature vector?" value Then verify "Cross_Cancel_Button" element visibility on "Confirm_Popup" wizard @@ -2385,13 +2379,11 @@ Feature: Feature Store Page When click on cell with row index 2 in "name" column in "Feature_Vectors_Table" table on "Feature_Store_Features_Vectors_Tab" wizard Then verify "Header" element visibility on "Feature_Vectors_Info_Pane" wizard Then select "Delete" option in action menu on "Feature_Vectors_Info_Pane" wizard - And wait load page When click on "Cancel_Button" element on "Confirm_Popup" wizard And wait load page When click on cell with row index 2 in "name" column in "Feature_Vectors_Table" table on "Feature_Store_Features_Vectors_Tab" wizard Then verify "Header" element visibility on "Feature_Vectors_Info_Pane" wizard Then select "Delete" option in action menu on "Feature_Vectors_Info_Pane" wizard - And wait load page Then verify if "Confirm_Popup" popup dialog appears When click on "Delete_Button" element on "Confirm_Popup" wizard And wait load page @@ -2404,7 +2396,6 @@ Feature: Feature Store Page Then verify that 3 row elements are displayed in "Feature_Vectors_Table" on "Feature_Store_Features_Vectors_Tab" wizard Then click on cell with row index 1 in "expand_btn" column in "Feature_Vectors_Table" table on "Feature_Store_Features_Vectors_Tab" wizard Then select "Delete" option in action menu on "Feature_Store_Features_Vectors_Tab" wizard in "Feature_Vectors_Table" table at row with "7" value in "name_expand_btn" column - And wait load page Then verify if "Confirm_Popup" popup dialog appears When click on "Delete_Button" element on "Confirm_Popup" wizard And wait load page @@ -2415,7 +2406,6 @@ Feature: Feature Store Page Then click on "Notification_Pop_Up_Cross_Close_Button" element on "Notification_Popup" wizard Then verify that 2 row elements are displayed in "Feature_Vectors_Table" on "Feature_Store_Features_Vectors_Tab" wizard Then select "Delete" option in action menu on "Feature_Store_Features_Vectors_Tab" wizard in "Feature_Vectors_Table" table at row with "erann-fv" value in "name" column - And wait load page Then verify if "Confirm_Popup" popup dialog appears When click on "Delete_Button" element on "Confirm_Popup" wizard And wait load page @@ -2429,7 +2419,6 @@ Feature: Feature Store Page Then click on "Clear_Button" element on "FilterBy_Popup" wizard And wait load page Then select "Delete" option in action menu on "Feature_Store_Features_Vectors_Tab" wizard in "Feature_Vectors_Table" table at row with "patient-deterioration" value in "name" column - And wait load page Then verify if "Confirm_Popup" popup dialog appears When click on "Delete_Button" element on "Confirm_Popup" wizard And wait load page diff --git a/tests/features/jobsAndWorkflows.feature b/tests/features/jobsAndWorkflows.feature index 8170d0e071..0b546c0cbd 100644 --- a/tests/features/jobsAndWorkflows.feature +++ b/tests/features/jobsAndWorkflows.feature @@ -627,6 +627,7 @@ Feature: Jobs and workflows 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 wait load page + And wait load page Then verify "Monitor Jobs" tab is active 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 Then click on "Table_FilterBy_Button" element on "Jobs_Monitor_Tab" wizard @@ -672,6 +673,7 @@ Feature: Jobs and workflows 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 wait load page + And wait load page Then verify "Monitor Jobs" tab is active in "Jobs_Tab_Selector" on "Jobs_Monitor_Tab" wizard Then verify "BE_Pagination_Navigate_Prev" element visibility on "Pagination_Info_Pane" wizard Then verify "BE_Pagination_Navigate_Prev" element on "Pagination_Info_Pane" wizard is disabled @@ -749,7 +751,7 @@ Feature: Jobs and workflows Then verify "Title" element visibility on "Modal_Transition_Popup" wizard Then "Title" element on "Modal_Transition_Popup" should contains "aggregate" value Then verify "Data_Status" element visibility on "Modal_Transition_Popup" wizard - Then "Data_Status" element on "Modal_Transition_Popup" should contains "Nov 25, 2021, 04:20:00 PM" value + Then "Data_Status" element on "Modal_Transition_Popup" should contains "Nov 25, 2021, 05:20:00 PM" value Then verify "State_Icon" element visibility on "Modal_Transition_Popup" wizard Then verify "State_Icon" element on "Modal_Transition_Popup" wizard should display hover tooltip "ML_Function_Info_Pane"."Initialized_State" Then verify "Refresh_Button" element visibility on "Modal_Transition_Popup" wizard diff --git a/tests/features/jobsMonitoring.feature b/tests/features/jobsMonitoring.feature index 91fbd51eee..29df3fb998 100644 --- a/tests/features/jobsMonitoring.feature +++ b/tests/features/jobsMonitoring.feature @@ -58,7 +58,7 @@ Feature: Jobs Monitoring Page Then verify "Jobs" tab is active in "Cross_Jobs_Tab_Selector" on "Jobs_Monitoring_Jobs_Tab" wizard Then verify "Date_Picker_Filter_Dropdown" dropdown on "Jobs_Monitoring_Workflows_Tab" wizard selected option value "Any time" Then click on "Table_FilterBy_Button" element on "Jobs_Monitoring_Jobs_Tab" wizard - Then verify "Status_Filter_Dropdown" dropdown on "FilterBy_Popup" wizard selected option value "3 items selected" + Then verify "Status_Filter_Dropdown" dropdown on "FilterBy_Popup" wizard selected option value "4 items selected" Then verify "Type_Filter_Dropdown" dropdown on "FilterBy_Popup" wizard selected option value "All" And wait load page Then click on "Status_Filter_Element" element on "FilterBy_Popup" wizard @@ -66,6 +66,7 @@ Feature: Jobs Monitoring Page Then "Status_Aborting_Checkbox" element should be checked on "FilterBy_Popup" wizard Then "Status_Jobs_Running_Checkbox" element should be checked on "FilterBy_Popup" wizard Then "Status_Pending_Checkbox" element should be checked on "FilterBy_Popup" wizard + Then "Status_Pending_retry_Checkbox" element should be checked on "FilterBy_Popup" wizard Then verify "Jobs_Table" element visibility on "Jobs_Monitoring_Jobs_Tab" wizard Then click on breadcrumbs "projectsPage" label on "commonPagesHeader" wizard And wait load page diff --git a/tests/features/monitoringApp.feature b/tests/features/monitoringApp.feature index 8abfaff272..074bc854d8 100644 --- a/tests/features/monitoringApp.feature +++ b/tests/features/monitoringApp.feature @@ -82,7 +82,7 @@ Feature: Monitoring app Page Then "Endpoints_RealTime_SubTitle" element on "Monitoring_App" should contains "Real-time" value Then verify "Endpoints_RealTime_Counter" element visibility on "Monitoring_App" wizard Then verify "RunningFrequency_Stats_Title" element visibility on "Monitoring_App" wizard - Then "RunningFrequency_Stats_Title" element on "Monitoring_App" should contains "Running frequency" value + Then "RunningFrequency_Stats_Title" element on "Monitoring_App" should contains "Running interval" value Then verify "RunningFrequency_Value_Title" element visibility on "Monitoring_App" wizard Then "RunningFrequency_Value_Title" element on "Monitoring_App" should contains "Every 10 minutes" value @@ -231,8 +231,6 @@ Feature: Monitoring app Page Then verify "Back_Button" element visibility on "Application_Monitoring" wizard Then verify "App_Status_Title" element visibility on "Application_Monitoring" wizard Then "App_Status_Title" element on "Application_Monitoring" should contains "App Status" value - Then verify "App_Status_Tip" element visibility on "Application_Monitoring" wizard - Then verify "App_Status_Tip" element on "Application_Monitoring" wizard should display hover hint "Label_Hint"."App_Status_Tip" Then verify "App_Status_SubTitle" element visibility on "Application_Monitoring" wizard Then "App_Status_SubTitle" element on "Application_Monitoring" should contains "Ready" value Then verify "Endpoints_Title" element visibility on "Application_Monitoring" wizard @@ -337,7 +335,6 @@ Feature: Monitoring app Page @MLMA @smoke - #TODO: Scroll to the Shards/partitions status section Scenario: MLMA010 - Check Shards/partitions status section components on Application monitoring page Given open url And wait load page @@ -355,6 +352,7 @@ Feature: Monitoring app Page Then "All_Applications_Title" element on "Monitoring_App" should contains "All Applications" value Then click on cell with value "Monitorappv1" in "name" column in "All_Applications_Table" table on "Monitoring_App" wizard And wait load page + When scroll to the "Shards_Partitions_Status_Title" element on "Application_Monitoring" wizard Then verify "Shards_Partitions_Status_Title" element visibility on "Application_Monitoring" wizard Then "Shards_Partitions_Status_Title" element on "Application_Monitoring" should contains "Shards/partitions status" value Then verify "Shards_Partitions_Status_Tip" element visibility on "Application_Monitoring" wizard diff --git a/tests/features/projectMonitoring.feature b/tests/features/projectMonitoring.feature index b97d00ab18..b3f8307a5c 100644 --- a/tests/features/projectMonitoring.feature +++ b/tests/features/projectMonitoring.feature @@ -674,13 +674,27 @@ Feature: Project Monitoring Page 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 - Then click on cell with value "Running jobs" in "name" column in "Jobs_Info_Card_Statistics" table on "Project" wizard + Then click on cell with value "Running" in "name" column in "Jobs_Info_Card_Statistics" table on "Project" wizard And wait load page Then verify "Jobs_Tab_Selector" on "Jobs_Monitor_Tab" wizard should contains "Jobs_And_Workflows"."Tab_List" Then verify "Monitor Jobs" tab is active in "Jobs_Tab_Selector" on "Jobs_Monitor_Tab" wizard Then verify "Table_Name_Filter_Input" element visibility on "Jobs_Monitor_Tab" wizard Then verify "Date_Picker_Filter_Dropdown" element visibility on "Jobs_Monitor_Tab" wizard + Then verify "Date_Picker_Filter_Dropdown" dropdown on "Jobs_Monitor_Tab" wizard selected option value "Any time" Then verify "Table_FilterBy_Button" element visibility on "Jobs_Monitor_Tab" wizard + Then click on "Table_FilterBy_Button" element on "Jobs_Monitor_Tab" wizard + Then verify "Status_Filter_Dropdown" dropdown on "FilterBy_Popup" wizard selected option value "4 items selected" + Then verify "Type_Filter_Dropdown" dropdown on "FilterBy_Popup" wizard selected option value "All" + And wait load page + Then click on "Status_Filter_Element" element on "FilterBy_Popup" wizard + Then "Status_All_Checkbox" element should be unchecked on "FilterBy_Popup" wizard + Then "Status_Aborting_Checkbox" element should be checked on "FilterBy_Popup" wizard + Then "Status_Jobs_Running_Checkbox" element should be checked on "FilterBy_Popup" wizard + Then "Status_Pending_Checkbox" element should be checked on "FilterBy_Popup" wizard + Then "Status_Pending_retry_Checkbox" element should be checked on "FilterBy_Popup" wizard + Then "Status_Aborted_Checkbox" element should be unchecked on "FilterBy_Popup" wizard + Then "Status_Jobs_Error_Checkbox" element should be unchecked on "FilterBy_Popup" wizard + Then "Status_Jobs_Completed_Checkbox" element should be unchecked on "FilterBy_Popup" wizard Then verify "Batch_Run_Button" element visibility on "Jobs_Monitor_Tab" wizard Then "Batch_Run_Button" element on "Jobs_Monitor_Tab" should contains "Batch run" value Then verify "Resource_Monitoring_Button" element visibility on "Jobs_Monitor_Tab" wizard @@ -688,8 +702,11 @@ Feature: Project Monitoring Page Then "Auto_Refresh_Checkbox" element should be unchecked on "Jobs_Monitor_Tab" wizard Then verify "Table_Refresh_Button" element visibility on "Jobs_Monitor_Tab" wizard Then verify "Jobs_Monitor_Table" element visibility on "Jobs_Monitor_Tab" wizard + Then navigate back + And wait load page + Then click on cell with value "Failed" in "name" column in "Jobs_Info_Card_Statistics" table on "Project" wizard + And wait load page - @MLPM @passive @smoke diff --git a/tests/features/projectsPage.feature b/tests/features/projectsPage.feature index 6d446f628f..05fbea66f3 100644 --- a/tests/features/projectsPage.feature +++ b/tests/features/projectsPage.feature @@ -90,6 +90,8 @@ Feature: Projects Page Scenario: MLPr005 - Verify all mandatory components on Archive ML Project Given open url And wait load page + When scroll to the element with "churn-project-admin" value in "name" column in "Projects_Table" table on "Projects" wizard + And wait load page Then select "Archive" option in action menu on "Projects" wizard in "Projects_Table" table at row with "churn-project-admin" value in "name" column Then verify if "Common_Popup" popup dialog appears Then "Description" component on "Common_Popup" should contains "Descriptions"."Archive_Project" @@ -104,6 +106,8 @@ Feature: Projects Page Scenario: MLPr006 - Verify all mandatory components on Delete existing ML Project Given open url And wait load page + When scroll to the element with "churn-project-admin" value in "name" column in "Projects_Table" table on "Projects" wizard + And wait load page Then select "Delete" option in action menu on "Projects" wizard in "Projects_Table" table at row with "churn-project-admin" value in "name" column And wait load page Then verify if "Common_Popup" popup dialog appears @@ -143,12 +147,16 @@ Feature: Projects Page Then "Description" component on "Common_Popup" should be equal "Descriptions"."Delete_Project_Confirm_Message" Then click on "Delete_Button" element on "Common_Popup" wizard And wait load page + And select "Archived" tab in "Projects_Tab_Selector" on "Projects" wizard + Then verify "Archived" tab is active in "Projects_Tab_Selector" on "Projects" wizard Then verify "Notification_Pop_Up" element visibility on "Notification_Popup" wizard Then "Notification_Pop_Up" element on "Notification_Popup" should contains "Project deletion 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 And wait load page + And select "Active" tab in "Projects_Tab_Selector" on "Projects" wizard + Then verify "Active" tab is active in "Projects_Tab_Selector" on "Projects" wizard 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 "Project \"empty-project\" was deleted successfully" value @@ -171,10 +179,15 @@ Feature: Projects Page And click on "Add_Label_Button" element on "Create_New_Project" wizard Then type value "/" to "Labels_Key" field on "Create_New_Project" wizard Then verify labels warning should display options "Input_Hint"."Projects_Labels_Warning_Key" + Then type value "/" to "Labels_Value" field on "Create_New_Project" wizard + Then verify labels warning should display options "Input_Hint"."Projects_Labels_Warning_Value" Then verify "Labels_Key" options rules on "Create_New_Project" wizard with labels + And wait load page + Then type into "Description_Input" on "Create_New_Project" popup dialog "automation test description new" value Then type value "/" to "Labels_Value" field on "Create_New_Project" wizard Then verify labels warning should display options "Input_Hint"."Projects_Labels_Warning_Value" Then verify "Labels_Value" options rules on "Create_New_Project" wizard with labels + And wait load page Then type value "/" to "Labels_Key" field on "Create_New_Project" wizard Then type value "/" to "Labels_Value" field on "Create_New_Project" wizard When click on "Title" element on "Create_New_Project" wizard @@ -211,12 +224,16 @@ Feature: Projects Page Then select "Delete" option in action menu on "Projects" wizard in "Projects_Table" table at row with "automation-test-name2" value in "name" column Then verify if "Common_Popup" popup dialog appears Then click on "Delete_Button" element on "Common_Popup" wizard + And select "Archived" tab in "Projects_Tab_Selector" on "Projects" wizard + Then verify "Archived" tab is active in "Projects_Tab_Selector" on "Projects" wizard And wait load page Then verify "Notification_Pop_Up" element visibility on "Notification_Popup" wizard Then "Notification_Pop_Up" element on "Notification_Popup" should contains "Project deletion in progress" 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 And wait load page + And select "Active" tab in "Projects_Tab_Selector" on "Projects" wizard + Then verify "Active" tab is active in "Projects_Tab_Selector" on "Projects" wizard And wait load page Then verify if "Notification_Popup" popup dialog appears Then verify "Notification_Pop_Up" element visibility on "Notification_Popup" wizard @@ -266,6 +283,7 @@ Feature: Projects Page Scenario: MLPr011 - Verify View YAML action Given open url And wait load page + When scroll to the element with "default" value in "name" column in "Projects_Table" table on "Projects" wizard Then select "View YAML" option in action menu on "Projects" wizard in "Projects_Table" table at row with "default" value in "name" column Then verify if "View_YAML" popup dialog appears Then verify "Cross_Cancel_Button" element visibility on "View_YAML" wizard @@ -380,15 +398,15 @@ Feature: Projects Page Then "Monitoring_Container_Title" element in "Projects_Monitoring_Container" on "Projects" should contains "Monitoring" value Then verify "Monitoring_Jobs_Box" element visibility in "Projects_Monitoring_Container" on "Projects" wizard 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 "Monitoring_Jobs_Box_Title" element in "Monitoring_Jobs_Box" on "Projects" should contains "Runs" value + Then verify "Monitoring_Jobs_Box_Title_Tip" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard + Then verify "Monitoring_Jobs_Box_Title_Tip" element in "Monitoring_Jobs_Box" on "Projects" wizard should display hover hint "Common_Tooltips"."Monitoring_Jobs_Box_Title_Tip" 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 "Total" value + Then "Filtering_Time_Period" element in "Monitoring_Jobs_Box" on "Projects" should contains "Past 24 hrs" value Then verify "Total_Counter_Number" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard 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 "Counter_Running_Status_Subtitle" element in "Monitoring_Jobs_Box" on "Projects" should contains "Running" value Then verify "Counter_Running_Status_Icon" element visibility in "Monitoring_Jobs_Box" on "Projects" wizard 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 @@ -400,11 +418,12 @@ Feature: Projects Page 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_Running_Status_Icon" element in "Monitoring_Jobs_Box" on "Projects" wizard should display hover tooltip "Common_Tooltips"."In_Process_Jobs" 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 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?state=running%2Cpending%2Caborting&dates=anyTime&bePage=1&fePage=1" + Then verify redirection to "projects/*/jobs-monitoring/jobs?state=running%2Cpending%2CpendingRetry%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 @@ -443,8 +462,6 @@ Feature: Projects Page Then "Monitoring_Workflows_Box_Title" element in "Monitoring_Workflows_Box" on "Projects" should contains "Workflows" value 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 "Total" value Then verify "Total_Counter_Number" element visibility in "Monitoring_Workflows_Box" on "Projects" wizard 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 @@ -613,9 +630,9 @@ Feature: Projects Page 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 "Total_Counter_Number" element in "Monitoring_Workflows_Box" on "Projects" should contains "4" 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 "Counter_Running_Status_Number" element in "Monitoring_Workflows_Box" on "Projects" should contains "1" 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 diff --git a/tests/features/quickActions.feature b/tests/features/quickActions.feature index 3ec06b0022..dffc53b5d6 100644 --- a/tests/features/quickActions.feature +++ b/tests/features/quickActions.feature @@ -3,7 +3,6 @@ Feature: Quick actions Page Testcases that verifies functionality on MLRun Quick actions Page @MLPH - @smoke Scenario: MLPH001 - Check all mandatory components on Project Home * set tear-down property "project" created with "automation-test-1002" value * create "automation-test-1002" MLRun Project with code 201 @@ -84,7 +83,6 @@ Feature: Quick actions Page | Monitoring | @MLPH - @smoke Scenario: MLPH002 - Verify behaviour on Register Model Popup on Project Home Page Given open url And wait load page @@ -139,7 +137,6 @@ Feature: Quick actions Page Then check "v3io:///target/" value in "path" column in "Overview_Table" table on "Models_Info_Pane" wizard @MLPH - @smoke @passive Scenario: MLPH003 - Check all mandatory components on Create New Feature Set on Project Home Page Given open url @@ -191,7 +188,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH004 - Check all mandatory components on Register Dataset Popup on Project Home Page Given open url And wait load page @@ -250,7 +246,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH005 - Check all mandatory components on Create ML Function on Project Home Page * set tear-down property "project" created with "automation-test-1003" value * create "automation-test-1003" MLRun Project with code 201 @@ -285,7 +280,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH006 - Check all mandatory components on Batch run wizard Given open url And wait load page @@ -452,7 +446,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH008 - Check all mandatory components on Create a Feature Vector Popup on Project Home Page Given open url And wait load page @@ -477,7 +470,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH009 - Check all mandatory components on Feature Set tab on Project Home Page Given open url And wait load page @@ -520,7 +512,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH010 - Check all mandatory components on Files tab on Project Home Page Given open url And wait load page @@ -547,7 +538,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH011 - Check all mandatory components on Datasets tab on Project Home Page Given open url And wait load page @@ -573,7 +563,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH012 - Check all mandatory components on Feature Vectors tab on Project Home Page Given open url And wait load page @@ -603,7 +592,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH013 - Check all mandatory components on ML Functions tab on Project Home Page Given open url And wait load page @@ -639,7 +627,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH014 - Check all mandatory components on Monitor Jobs tab on Project Home Page Given open url And wait load page @@ -681,7 +668,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH015 - Check all mandatory components on Models tab on Project Home Page Given open url And wait load page @@ -712,7 +698,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH016 - Check all mandatory components on Monitor Workflows tab on Project Home Page Given open url And wait load page @@ -735,7 +720,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH017 - Check all mandatory components on Models Endpoint tab on Project Home Page Given open url And wait load page @@ -772,7 +756,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH018 - Check all mandatory components on Real-Time Piplines tab on Project Home Page Given open url And wait load page @@ -793,7 +776,6 @@ Feature: Quick actions Page @MLPH @passive - @smoke Scenario: MLPH019 - Check all mandatory components on Monitoring tab on Project Home Page Given open url And wait load page @@ -819,7 +801,6 @@ Feature: Quick actions Page Then verify "General_Info_Quick_Links" element visibility on "commonPagesHeader" wizard @MLPH - @smoke Scenario: MLPH020 - Check all mandatory components on Batch inference in Advanced section Given open url And wait load page @@ -934,7 +915,6 @@ Feature: Quick actions Page @MLPH @inProgress - @smoke Scenario: MLPH023 - Check components - batch inference_v2, preview text, path type Given open url And wait load page @@ -961,7 +941,6 @@ Feature: Quick actions Page #TODO: check Data Inputs path type (Data_Inputs_Inference_Table) @MLPH - @smoke Scenario: MLPH024 - Check Train model wizard opens up Given open url And wait load page diff --git a/tests/features/step-definitions/steps.js b/tests/features/step-definitions/steps.js index 4ba1c93160..8cc0b91a39 100644 --- a/tests/features/step-definitions/steps.js +++ b/tests/features/step-definitions/steps.js @@ -144,10 +144,10 @@ When('turn on demo mode with query params {string}', async function(state) { await navigateToPage(this.driver, `${url}${state === 'true' ? '&' : '?'}mode=demo`) }) -When('turn on staging mode', async function() { +When('turn on staging mode with query params {string}', async function(state) { const url = await this.driver.getCurrentUrl() - await navigateToPage(this.driver, `${url}?mode=staging`) + await navigateToPage(this.driver, `${url}${state === 'true' ? '&' : '?'}mode=staging`) }) Then('turn Off MLRun CE mode', async function() { @@ -1111,6 +1111,18 @@ Then( } ) +Then( + 'verify {string} element in {string} on {string} wizard should display hover hint {string}.{string}', + async function(inputField, accordion, wizard, constStorage, constValue) { + await checkComponentHintTextWithHover( + this.driver, + pageObjects[wizard][accordion][inputField], + pageObjects['commonPagesHeader']['Common_Hint'], + 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/features/step-definitions/table.steps.js b/tests/features/step-definitions/table.steps.js index 3c815e38a6..d1ab1d3ab8 100644 --- a/tests/features/step-definitions/table.steps.js +++ b/tests/features/step-definitions/table.steps.js @@ -90,6 +90,14 @@ Then( } ) +When( + 'scroll to the {string} element on {string} wizard', + async function (component, wizard) { + await waiteUntilComponent(this.driver, pageObjects[wizard][component]) + await scrollToElement(this.driver, pageObjects[wizard][component]) + } +) + When( 'scroll to the element with {string} value in {string} column in {string} table on {string} wizard', async function (value, columnName, table, wizard) {