Skip to content

Commit 0c27b82

Browse files
authored
Tests [QA] v1.8.0-rc13 (#2978)
1 parent 01b7b23 commit 0c27b82

16 files changed

+570
-147
lines changed

tests/features/MLFunction.feature

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ Feature: ML Functions
9393
Then verify "Overview_Headers" on "ML_Function_Info_Pane" wizard should contains "ML_Function_Info_Pane"."Overview_Headers"
9494
Then click on "Cross_Close_Button" element on "ML_Function_Info_Pane" wizard
9595
When click on cell with row index 1 in "name" column in "Functions_Table" table on "ML_Functions" wizard
96+
And wait load page
9697
Then verify "Header" element visibility on "ML_Function_Info_Pane" wizard
9798
Then verify "Updated" element visibility on "ML_Function_Info_Pane" wizard
9899
Then verify "Cross_Close_Button" element visibility on "ML_Function_Info_Pane" wizard
@@ -645,6 +646,8 @@ Feature: ML Functions
645646
And set tear-down property "function" created in "default" project with "new-aqa-function-00" value
646647
Then click on "Save_Button" element on "New_Function" wizard
647648
And wait load page
649+
When click on cell with row index 1 in "name" column in "Functions_Table" table on "ML_Functions" wizard
650+
And wait load page
648651
Then "Header" element on "ML_Function_Info_Pane" should contains "new-aqa-function-00" value
649652
Then check "new-aqa-function-00" value in "name" column in "Overview_Table" table on "ML_Function_Info_Pane" wizard
650653
Then check "job" value in "kind" column in "Overview_Table" table on "ML_Function_Info_Pane" wizard
@@ -1079,7 +1082,7 @@ Feature: ML Functions
10791082
Then verify "Cross_Cancel_Button" element visibility on "View_YAML" wizard
10801083
Then verify "YAML_Modal_Container" element visibility on "View_YAML" wizard
10811084
Then click on "Cross_Cancel_Button" element on "View_YAML" wizard
1082-
Then click on cell with row index 8 in "expand_btn" column in "Functions_Table" table on "ML_Functions" wizard
1085+
Then click on cell with row index 9 in "expand_btn" column in "Functions_Table" table on "ML_Functions" wizard
10831086
And wait load page
10841087
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
10851088
Then verify if "View_YAML" popup dialog appears

tests/features/artifacts.feature

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,63 @@ Feature: Artifacts Page
435435
Then verify "Overview" tab is active in "Info_Pane_Tab_Selector" on "Files_Info_Pane" wizard
436436
Then verify "Overview_Sources_Headers" on "Files_Info_Pane" wizard should contains "Files_Info_Pane"."Overview_Sources_Headers"
437437
Then verify "Overview_Sources_Headers" element visibility on "Files_Info_Pane" wizard
438+
When click on cell with value "raw-data" in "name" column in "Files_Table" table on "Files" wizard
439+
And wait load page
440+
Then click on "Source_Path" element on "Files_Info_Pane" wizard
441+
And wait load page
442+
Then verify if "Modal_Transition_Popup" popup dialog appears
443+
Then verify "Title" element visibility on "Modal_Transition_Popup" wizard
444+
Then "Title" element on "Modal_Transition_Popup" should contains "survival-curves_km-timelines" value
445+
Then verify "Data_Status" element visibility on "Modal_Transition_Popup" wizard
446+
Then "Data_Status" element on "Modal_Transition_Popup" should contains "Aug 29, 2021, 10:54:15 PM" value
447+
Then verify "Refresh_Button" element visibility on "Modal_Transition_Popup" wizard
448+
Then click on "Refresh_Button" element on "Modal_Transition_Popup" wizard
449+
And wait load page
450+
Then verify "Refresh_Button" element visibility on "Modal_Transition_Popup" wizard
451+
Then verify "Action_Menu" element visibility on "Modal_Transition_Popup" wizard
452+
Then verify "Action_Menu" dropdown element on "Modal_Transition_Popup" wizard should contains "Common_Lists"."Action_Menu_List_Dataset_Transition_Popup"
453+
Then verify "Cross_Close_Button" element visibility on "Modal_Transition_Popup" wizard
454+
Then click on "Cross_Close_Button" element on "Modal_Transition_Popup" wizard
455+
And wait load page
456+
Then click on "Source_Path" element on "Files_Info_Pane" wizard
457+
And wait load page
458+
Then select "Download" option in action menu on "Modal_Transition_Popup" wizard
459+
And wait load page
460+
Then verify "Download_Pop_Up" element visibility on "Downloads_Popup" wizard
461+
And wait load page
462+
Then verify "Download_Pop_Up_Cross_Cancel_Button" element visibility on "Downloads_Popup" wizard
463+
And wait load page
464+
Then verify "Download_Pop_Up_Cross_Cancel_Button" element visibility on "Downloads_Popup" wizard
465+
And wait load page
466+
Then verify "Header_Download_Pop_Up" element visibility on "Downloads_Popup" wizard
467+
Then "Header_Download_Pop_Up" element on "Downloads_Popup" should contains "Downloads" value
468+
Then click on "Download_Pop_Up_Cross_Cancel_Button" element on "Downloads_Popup" wizard
469+
Then select "Copy URI" option in action menu on "Modal_Transition_Popup" wizard
470+
And wait load page
471+
Then verify if "Notification_Popup" popup dialog appears
472+
Then verify "Notification_Pop_Up" element visibility on "Notification_Popup" wizard
473+
Then "Notification_Pop_Up" element on "Notification_Popup" should contains "Copied to clipboard successfully" value
474+
Then verify "Notification_Pop_Up_Cross_Close_Button" element visibility on "Notification_Popup" wizard
475+
Then click on "Notification_Pop_Up_Cross_Close_Button" element on "Notification_Popup" wizard
476+
Then select "View YAML" option in action menu on "Modal_Transition_Popup" wizard
477+
Then verify if "View_YAML" popup dialog appears
478+
Then verify "Cross_Cancel_Button" element visibility on "View_YAML" wizard
479+
Then verify "YAML_Modal_Container" element visibility on "View_YAML" wizard
480+
Then click on "Cross_Cancel_Button" element on "View_YAML" wizard
481+
Then verify "Tab_Selector" on "Modal_Transition_Popup" wizard should contains "Datasets_Info_Pane"."Tab_List"
482+
Then verify "Overview" tab is active in "Tab_Selector" on "Modal_Transition_Popup" wizard
483+
Then select "Preview" tab in "Tab_Selector" on "Modal_Transition_Popup" wizard
484+
Then verify "Preview" tab is active in "Tab_Selector" on "Modal_Transition_Popup" wizard
485+
Then select "Metadata" tab in "Tab_Selector" on "Modal_Transition_Popup" wizard
486+
Then verify "Metadata" tab is active in "Tab_Selector" on "Modal_Transition_Popup" wizard
487+
Then select "Analysis" tab in "Tab_Selector" on "Modal_Transition_Popup" wizard
488+
Then verify "Analysis" tab is active in "Tab_Selector" on "Modal_Transition_Popup" wizard
489+
Then select "Overview" tab in "Tab_Selector" on "Modal_Transition_Popup" wizard
490+
Then verify "Overview" tab is active in "Tab_Selector" on "Modal_Transition_Popup" wizard
491+
Then verify "Overview_General_Headers" on "Modal_Transition_Popup" wizard should contains "Datasets_Info_Pane"."Overview_General_Headers"
492+
Then verify "Overview_Producer_Headers" on "Modal_Transition_Popup" wizard should contains "Datasets_Info_Pane"."Overview_Producer_Headers"
493+
Then verify "Overview_Sources_Headers" element visibility on "Modal_Transition_Popup" wizard
494+
Then verify "Overview_Sources_Headers" on "Modal_Transition_Popup" wizard should contains "Datasets_Info_Pane"."Overview_Sources_Headers"
438495

439496
@MLA
440497
@passive
@@ -557,7 +614,7 @@ Feature: Artifacts Page
557614
And wait load page
558615
When click on cell with row index 1 in "name" column in "Files_Table" table on "Files" wizard
559616
And wait load page
560-
Then verify redirection from "projects/default/files/INVALID/latest/0/overview" to "projects/default/files/INVALID/latest/0/overview"
617+
Then verify redirection from "projects/default/files/INVALID/latest/0/overview" to "projects/default/files"
561618
And select "tab" with "Datasets" value in breadcrumbs menu
562619
And wait load page
563620
And select "tab" with "Artifacts" value in breadcrumbs menu

tests/features/common-tools/common-consts.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ module.exports = {
9898
Common_Lists: {
9999
Action_Menu_List: ['Add a tag', 'Download', 'Copy URI', 'View YAML', 'Delete'],
100100
Action_Menu_List_Expanded: ['Add a tag', 'Download', 'Copy URI', 'View YAML', 'Delete all'],
101+
Action_Menu_List_Dataset_Transition_Popup: ['Download', 'Copy URI', 'View YAML'],
101102
Handler_List: ['train'],
102103
Pods_Priority_List: ['Low','Medium', 'High'],
103104
Ranking_Criteria_List: ['Min','Max']
@@ -335,7 +336,15 @@ module.exports = {
335336
},
336337
Common_Tooltips:{
337338
FilterBy_Button: 'Filter',
338-
Refresh_Button: 'Refresh'
339+
Refresh_Button: 'Refresh',
340+
In_Process_Jobs: 'Aborting, Pending, Running',
341+
In_Process_Workflows: 'Running',
342+
Failed_Jobs: 'Aborted, Error',
343+
Failed_Worflows: 'Error, Failed',
344+
Succeeded: 'Completed',
345+
Error_Content: 'Error. Columns must be same length as key',
346+
Error_Content_Workflow:
347+
'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 <module> hvd.callbacks.LearningRateWarmupCallback(warmup_epochs=5, verbose=1), TypeError: __init__() missing 1 required positional argument: \'initial_lr\''
339348
},
340349
Input_Hint: {
341350
Artifact_Names_Unique: 'Artifact names in the same project must be unique',
@@ -468,7 +477,7 @@ module.exports = {
468477
Messages: {
469478
How_To_Create:
470479
'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',
471-
Metrics_Empty_Select_Message: 'Choose metrics to view endpoint\’s data'
480+
Metrics_Empty_Select_Message: 'Choose metrics to view endpoint’s data'
472481
},
473482
Jobs_Monitoring: {
474483
Tab_List: ['Jobs', 'Workflows', 'Scheduled']
@@ -527,7 +536,7 @@ module.exports = {
527536
Project_Already_Exists: /A project named "[^"]+[$"] already exists/,
528537
Projects_Limit_Reached:
529538
'The system already has the maximum number of projects. An existing project must be deleted before you can create another.',
530-
MLRunAccessDeniedError: 'MLRunAccessDeniedError(\'Not allowed to create\/update internal secrets (key starts with mlrun\.)\')',
539+
MLRunAccessDeniedError: 'MLRunAccessDeniedError(\'Not allowed to create/update internal secrets (key starts with mlrun.)\')',
531540
Must_Select_One: 'Must select at least one',
532541
Must_Select_One_Partition: 'Must select at least one partitioning option',
533542
Already_Scheduled: 'This job is already scheduled',
@@ -539,7 +548,7 @@ module.exports = {
539548
Jobs_Status_Filter_Options: ['All', 'Aborted', 'Aborting', 'Completed', 'Error', 'Running', 'Pending'],
540549
Workflows_Status_Filter_Options: ['All', 'Error', 'Failed', 'Running', 'Completed'],
541550
Jobs_Type_Filter_Options: ['All', 'Local', 'Dask', 'Databricks', 'Handler', 'Job', 'Horovod', 'Spark'],
542-
Scheduled_Type_Filter_Options: ['All', 'Jobs', 'Workflows'],
551+
Scheduled_Type_Filter_Options: ['All', 'Job', 'Workflow', 'Nuclio', 'Application', 'Serving', 'Spark', 'Horovod', 'Dask', 'Databricks', 'Local', 'Handler'],
543552
Group_By_Filter_Options: ['None', 'Name'],
544553
Start_Time_Filter_Options: [
545554
'Any time',

tests/features/common/page-objects.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ module.exports = {
7777
Model_Endpoints: models['modelEndpoints'],
7878
Models: models['modelsTab'],
7979
Models_Info_Pane: infoPane['modelsInfoPane'],
80+
Modal_Transition_Popup: interactivePopup['modalTransitionPopup'],
8081
Modal_Wizard_Form: interactivePopup['modalWizardForm'],
8182
New_Feature_Set: sidePanel['newFeatureSet'],
8283
New_Function: sidePanel['newFunction'],

tests/features/common/page-objects/files.po.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,6 @@ module.exports = {
106106
),
107107
Files_Table: commonTable(filesTable),
108108
Register_File_Button: By.css('.content__action-bar-wrapper .action-bar__actions .action-button'),
109-
Table_FilterBy_Button: By.css(
110-
'.content .content__action-bar-wrapper .action-bar__filters .filters-button button'
111-
)
109+
Table_FilterBy_Button: By.css('[data-testid="filter-menu-btn"]')
112110
}
113111
}

tests/features/common/page-objects/info-pane.po.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -681,9 +681,11 @@ module.exports = {
681681
Overview_Table: commonTable(functionsOverviewTable)
682682
},
683683
jobsMonitorTabInfoPane: {
684-
Arrow_Back: By.css('a.item-header__back-btn'),
684+
Arrow_Back: By.css('a.link-back__icon'),
685685
Header: header,
686686
Updated: updated,
687+
State_Icon: By.css('.item-header .item-header__status .state'),
688+
Error_Content: By.css('.item-header .item-header__status .error-container'),
687689
Action_Menu: commonActionMenu,
688690
Cross_Close_Button: crossCloseButton,
689691
Info_Pane_Tab_Selector: commonInfoPaneTabSelector,
@@ -699,6 +701,8 @@ module.exports = {
699701
Arrow_Back: commonArrowBack,
700702
Header: By.css('.workflow-container .link-back__title .data-ellipsis'),
701703
Updated: updated,
704+
State_Icon: By.css('.item-header .item-header__status .state'),
705+
Error_Content: By.css('.item-header .item-header__status .error-container'),
702706
Action_Menu: commonActionMenu,
703707
Cross_Close_Button: crossCloseButton,
704708
Info_Pane_Tab_Selector: commonInfoPaneTabSelector,
@@ -739,6 +743,7 @@ module.exports = {
739743
Overview_General_Headers: commonTable(infoPaneOverviewHeaders),
740744
Overview_Producer_Headers: commonTable(infoPaneOverviewProducerHeaders),
741745
Overview_Sources_Headers: commonTable(infoPaneOverviewSourcesHeaders),
746+
Source_Path: By.css('[data-testid="sources"] .info-sources__table-value .link'),
742747
Overview_Hash_Header: labelComponent(
743748
generateLabelGroup(
744749
'.item-info__details:nth-of-type(1) .details-item:nth-of-type(1) .details-item__header',

tests/features/common/page-objects/interactive-popup.po.js

Lines changed: 78 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -639,15 +639,6 @@ const commonFormSubtext = By.css('.form-text div p')
639639
const commonScheduleButton = By.css('.modal__content [data-testid="schedule-btn"]')
640640
const commonRunSaveButton = By.css('.modal__content [data-testid="run-btn"]')
641641

642-
const commonLabelFilterInput = inputGroup(
643-
generateInputGroup(
644-
'[data-testid="labels-form-field-input"]',
645-
true,
646-
false,
647-
'.form-field__warning svg'
648-
)
649-
)
650-
651642
const commonProjectFilterInput = inputGroup(
652643
generateInputGroup('[data-testid="project-form-field-input"]', true, false, true)
653644
)
@@ -660,6 +651,72 @@ const commonTableTreeFilterDropdown = dropdownComponent(
660651
)
661652
)
662653

654+
const actionMenuStructureTransitionPopup = {
655+
root: '.table__item-popup .item-header__buttons .actions-menu__container',
656+
menuElements: {
657+
open_button: 'button',
658+
options: '.actions-menu__body .actions-menu__option'
659+
}
660+
}
661+
662+
const infoPaneTabSelector = {
663+
root: '.table__item-popup .tabs-slider__tabs',
664+
header: {},
665+
body: {
666+
row: {
667+
root: '.tabs-slider__tab',
668+
fields: {
669+
key: '',
670+
hintButton: '.tip-container'
671+
}
672+
}
673+
}
674+
}
675+
676+
const infoPaneOverviewHeaders = {
677+
root: '.table__item-popup .item-info__details-wrapper:nth-of-type(1)',
678+
header: {},
679+
body: {
680+
row: {
681+
root: 'li:not(li.details-item_hidden)',
682+
fields: {
683+
key: '.details-item__header',
684+
link: '.details-item__data .link',
685+
value: '.details-item__data'
686+
}
687+
}
688+
}
689+
}
690+
691+
const infoPaneOverviewProducerHeaders = {
692+
root: '.table__item-popup .item-info__details-wrapper:nth-of-type(2)',
693+
header: {},
694+
body: {
695+
row: {
696+
root: '.item-info__details',
697+
fields: {
698+
key: '.details-item__header',
699+
link: '.details-item__data .link',
700+
value: '.details-item__data'
701+
}
702+
}
703+
}
704+
}
705+
706+
const infoPaneOverviewSourcesHeaders = {
707+
root: '.table__item-popup .item-info__details-wrapper:nth-of-type(2)',
708+
header: {},
709+
body: {
710+
row: {
711+
root: '.info-sources',
712+
fields: {
713+
key: '.info-sources__table-key',
714+
value: '.info-sources__table-value'
715+
}
716+
}
717+
}
718+
}
719+
663720
module.exports = {
664721
createNewProject: {
665722
Title: commonTitle,
@@ -743,6 +800,17 @@ module.exports = {
743800
Metrics_Apply_Button: By.css('[data-testid="metrics-selector-buttons"] .btn-secondary'),
744801
Metrics_Clear_Button: By.css('[data-testid="metrics-selector-buttons"] .btn-tertiary')
745802
},
803+
modalTransitionPopup: {
804+
Title: By.css('.table__item-popup .item-header__title'),
805+
Data_Status: By.css('.table__item-popup .item-header__status-row .updated'),
806+
Refresh_Button: By.css('.table__item-popup .item-header__buttons [data-testid="refresh"]'),
807+
Action_Menu: actionMenu(actionMenuStructureTransitionPopup),
808+
Cross_Close_Button: By.css('.table__item-popup .item-header__buttons [data-testid="details-close-btn"]'),
809+
Tab_Selector: commonTable(infoPaneTabSelector),
810+
Overview_General_Headers: commonTable(infoPaneOverviewHeaders),
811+
Overview_Producer_Headers: commonTable(infoPaneOverviewProducerHeaders),
812+
Overview_Sources_Headers: commonTable(infoPaneOverviewSourcesHeaders),
813+
},
746814
modalWizardForm: {
747815
Title: By.css('.modal .modal__header-title'),
748816
Cross_Close_Button: By.css('.modal .modal__header-button'),
@@ -825,7 +893,7 @@ module.exports = {
825893
)
826894
),
827895
Run_Details_Labels_Value: By.css(
828-
'.job-wizard__run-details .form-row:nth-of-type(4) .chips-wrapper [id="runDetails.labels[0].value"]'
896+
'div:nth-child(4) > div > div.chips__wrapper > div > div > div:nth-child(1) > div > div > div > input.input-label-value'
829897
),
830898
Close_Label_Button: By.css(
831899
'.job-wizard__run-details .form-row:nth-of-type(4) .chips .chips-wrapper .item-icon-close'

tests/features/common/page-objects/jobs-and-workflows.po.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ const tabSelector = {
4242
row: {
4343
root: '.content-menu__item',
4444
fields: {
45-
key: 'a'
45+
key: ''
4646
}
4747
}
4848
}
@@ -246,7 +246,7 @@ const scheduleMonitorTable = {
246246
row: {
247247
root: '.table-row',
248248
fields: {
249-
name: '.table-body__cell:nth-of-type(1) a',
249+
name: '.table-body__cell:nth-of-type(1) > div',
250250
type: {
251251
componentType: labelComponent,
252252
structure: generateLabelGroup(

0 commit comments

Comments
 (0)