Skip to content

QA v1.8.0-rc31 #45

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 30 additions & 3 deletions tests/features/MLFunction.feature
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ Feature: ML Functions
Scenario: MLF005 - Check all mandatory components on ML Functions Page
Given open url
And wait load page
And turn on demo mode
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 verify breadcrumbs "project" label should be equal "default" value
Expand All @@ -25,18 +27,43 @@ Feature: ML Functions
And hover "MLRun_Logo" component on "commonPagesHeader" wizard
And wait load page
Then verify "Table_Name_Filter_Input" element visibility on "ML_Functions" wizard
And turn on demo mode
And wait load page
Then verify "New_Function_Button" element visibility on "ML_Functions" wizard
Then "New_Function_Button" element on "ML_Functions" should contains "New" value
Then verify "Table_Refresh_Button" element visibility on "ML_Functions" wizard
Then verify "Table_Expand_Rows_Button" element visibility on "ML_Functions" wizard
Then verify "Date_Picker_Filter_Dropdown" element visibility on "ML_Functions" wizard
Then verify "Date_Picker_Filter_Dropdown" dropdown on "ML_Functions" wizard selected option value "Past week"
Then verify "Date_Picker_Filter_Dropdown" dropdown element on "ML_Functions" wizard should contains "Dropdown_Options"."Date_Picker_Filter_Options"
When select "Any time" option in "Date_Picker_Filter_Dropdown" filter dropdown on "ML_Functions" wizard
And wait load page
Then verify "Functions_Table" element visibility on "ML_Functions" wizard
Then verify "show_all_versions" option is present on "ML_Functions" wizard in "Functions_Table" table with "vizro" value in "name" column
Then verify "show_all_versions" option on "ML_Functions" wizard in "Functions_Table" table with "vizro" value in "name" column should display hover tooltip "Common_Tooltips"."Show_All_Versions"
Then click on "show_all_versions" option on "ML_Functions" wizard in "Functions_Table" table with "vizro" value in "name" column
And wait load page
Then verify "History_Back_Button" element visibility on "ML_Functions" wizard
Then verify "Version_History_Title" element visibility on "ML_Functions" wizard
Then "Version_History_Title" element on "ML_Functions" should contains "Version history:" value
Then verify "Version_History_Model_Name" element visibility on "ML_Functions" wizard
Then "Version_History_Model_Name" element on "ML_Functions" should contains "vizro" value
Then verify "Date_Picker_Filter_Dropdown" element visibility on "ML_Functions" wizard
Then verify "Date_Picker_Filter_Dropdown" dropdown on "ML_Functions" wizard selected option value "Any time"
Then verify "Date_Picker_Filter_Dropdown" dropdown element on "ML_Functions" wizard should contains "Dropdown_Options"."Date_Picker_Filter_Options"
Then verify "Table_Refresh_Button" element visibility 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
Then "Title" element on "FilterBy_Popup" should contains "Filter by" value
Then verify "Show_Untagged" element visibility on "FilterBy_Popup" wizard
Then "Show_Untagged" element should be unchecked on "FilterBy_Popup" wizard
Then verify "Apply_Button" element visibility on "FilterBy_Popup" wizard
Then verify "Apply_Button" element on "FilterBy_Popup" wizard is disabled
Then verify "Clear_Button" element visibility on "FilterBy_Popup" wizard
Then verify "Clear_Button" element on "FilterBy_Popup" wizard is disabled
Then click on "Table_FilterBy_Button" element on "ML_Functions" wizard
Then verify "Functions_Table" element visibility on "ML_Functions" wizard
Then click on "History_Back_Button" element on "ML_Functions" wizard
And wait load page
Then verify "Table_Name_Filter_Input" element visibility on "ML_Functions" wizard
Then verify "Functions_Table" element visibility on "ML_Functions" wizard

@MLF
@passive
Expand Down
13 changes: 9 additions & 4 deletions tests/features/common-tools/common-consts.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ module.exports = {
'monitoring and notification.'
},
Feature_Store: {
Tab_List: ['Feature Sets', 'Features', 'Feature Vectors']
Tab_List: ['Feature Sets', 'Features', 'Feature Vectors'],
Delete_Feature_Vector_Message: /Are you sure you want to delete the feature vector "(.+?)"\?. You cannot restore a feature vector after deleting it./,
},
Models: {
Tab_List: ['Models', 'Model Endpoints', 'Real-Time Pipelines'],
Expand All @@ -66,7 +67,9 @@ module.exports = {
]
},
Feature_Sets_Info_Pane: {
Tab_List: ['Overview', 'Features', 'Transformations', 'Preview', 'Statistics', 'Analysis'],
Created_State: 'Created',
Tab_List: ['Overview', 'Features', 'Transformations', 'Preview', 'Statistics'],
Tab_List_Demo: ['Overview', 'Features', 'Transformations', 'Preview', 'Statistics', 'Analysis'],
Overview_General_Headers: [
'Description:',
'Labels:',
Expand All @@ -81,7 +84,7 @@ module.exports = {
]
},
Feature_Vectors_Info_Pane: {
Tab_List: ['Overview', 'Requested Features', 'Analysis'],
Tab_List: ['Overview', 'Requested Features'],
Overview_General_Headers: [
'Description:',
'Labels:',
Expand All @@ -100,6 +103,7 @@ module.exports = {
Action_Menu_List_Dataset_Transition_Popup: ['Download', 'Copy URI', 'View YAML'],
Action_Menu_List_Function_Transition_Popup: ['View YAML'],
Action_Menu_List_Run_Transition_Popup: ['Run\'s resource monitoring', 'View YAML'],
Action_Menu_List_Feature_Set_Transition_Popup: ['View YAML'],
Handler_List: ['train'],
Pods_Priority_List: ['Low', 'Medium', 'High'],
Ranking_Criteria_List: ['Min', 'Max']
Expand Down Expand Up @@ -322,6 +326,7 @@ module.exports = {
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',
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 <module> hvd.callbacks.LearningRateWarmupCallback(warmup_epochs=5, verbose=1), TypeError: __init__() missing 1 required positional argument: 'initial_lr'"
Expand Down Expand Up @@ -531,7 +536,7 @@ module.exports = {
One_Day_Option: 'Must select at least one day option'
},
Dropdown_Options: {
Tag_Filer_Options: ['All', 'latest'],
Tag_Filer_Options: ['All tags', 'latest'],
Status_Filter_Options: ['All', 'Completed', 'Running', 'Pending', 'Error', 'Aborted'],
Jobs_Status_Filter_Options: [
'All',
Expand Down
21 changes: 12 additions & 9 deletions tests/features/common/actions/table.action.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ under the Apache 2.0 license is conditioned upon your compliance with
such restriction.
*/
import { expect } from 'chai'
import { differenceWith, isEqual } from 'lodash'
import { difference } from 'lodash'
import {
getOptionValues,
openDropdown,
Expand Down Expand Up @@ -338,17 +338,20 @@ const action = {
checkTableColumnValues: async function(driver, table, columnName, values) {
const arr = await getColumnValues(driver, table, columnName)
if (arr.length === 0) {
expect(arr.length > 0).equal(
true,
'Array is empty, nothing to compare'
throw new Error('Array is empty, nothing to compare')
}

// find missing and extra values
const missingValues = difference(values, arr) // items in values but NOT in arr
const extraValues = difference(arr, values) // items in arr but NOT in values

if (missingValues.length > 0 || extraValues.length > 0) {
throw new Error(
`Arrays not equal: \nMissing values: ${missingValues} \nExtra values: ${extraValues}`
)
}
const diff = differenceWith(arr, values, isEqual)

expect(diff.length).equal(
0,
`Arrays not equal: web "${arr}" vs. const "${values} diff "${diff}"`
)
return true
},
getAllCellsWithAttribute: async function(driver, table, attribute) {
const result = []
Expand Down
6 changes: 3 additions & 3 deletions tests/features/common/page-objects/feature-store.po.js
Original file line number Diff line number Diff line change
Expand Up @@ -147,9 +147,9 @@ const featuresTable = {
row: {
root: '.table-row',
fields: {
feature_name: '.table-body__cell:nth-of-type(1) [data-testid="tooltip-wrapper"]', //div.data-ellipsis
feature_name: '.table-body__cell:nth-of-type(1) [data-testid="tooltip-wrapper"]',
expand_btn: '.table-body__cell:nth-of-type(1) svg.expand-arrow',
feature_set: '.table-body__cell:nth-of-type(2) .link',
feature_set: '.table-body__cell:nth-of-type(2)',
type: '.table-body__cell:nth-of-type(3) .data-ellipsis',
entity: '.table-body__cell:nth-of-type(4) .data-ellipsis',
description: '.table-body__cell:nth-of-type(5) .data-ellipsis',
Expand Down Expand Up @@ -395,7 +395,7 @@ module.exports = {
Feature_Store_Tab_Selector: featureStoreTabSelector,
Table_FilterBy_Button: tableFilterByButton,
Add_To_Feature_Vector_Button: By.css(
'.content .content__action-bar-wrapper .action-bar button.btn-secondary'
'.content .content__action-bar-wrapper .action-bar__actions [data-testid="btn"]'
),
Table_Name_Filter_Input: commonNameFilterInput,
Table_Label_Filter_Input: commonLabelFilterInput,
Expand Down
1 change: 1 addition & 0 deletions tests/features/common/page-objects/interactive-popup.po.js
Original file line number Diff line number Diff line change
Expand Up @@ -805,6 +805,7 @@ module.exports = {
Data_Status: By.css('.table__item-popup .item-header__status-row .updated'),
State_Icon: By.css('[data-testid="modal"] [data-testid="detailsPanel"] .state'),
Refresh_Button: By.css('.table__item-popup .item-header__buttons [data-testid="refresh"]'),
Tab_Tip : By.css('[data-testid="detailsPanel"] [data-testid="tip"]'),
Action_Menu: actionMenu(actionMenuStructureTransitionPopup),
Cross_Close_Button: By.css(
'.table__item-popup .item-header__buttons [data-testid="details-close-btn"]'
Expand Down
13 changes: 9 additions & 4 deletions tests/features/common/page-objects/ml-functions.po.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ const functionsTable = {
action_menu: {
componentType: actionMenu,
structure: actionMenuStructure
}
},
show_all_versions: '[data-testid="quick-link-show-all-versions"]'
}
}
}
Expand All @@ -99,9 +100,6 @@ module.exports = {
Table_Refresh_Button: By.css(
'.content [data-testid="refresh-tooltip-wrapper"]'
),
Table_Expand_Rows_Button: By.css(
'.content [data-testid="toggle-collapse"]'
),
Functions_Table: commonTable(functionsTable),
Date_Picker_Filter_Dropdown: dropdownComponent(
generateDropdownGroup(
Expand All @@ -111,6 +109,13 @@ module.exports = {
'.data-ellipsis .data-ellipsis',
false
)
),
History_Back_Button: By.css('.history-back-link .history-back-link__icon'),
Version_History_Title: By.css(
'.history-back-link .history-back-link__title [data-testid="version-history"]'
),
Version_History_Model_Name: By.css(
'.history-back-link .history-back-link__title .data-ellipsis.tooltip-wrapper'
)
}
}
6 changes: 3 additions & 3 deletions tests/features/common/page-objects/side-panel.po.js
Original file line number Diff line number Diff line change
Expand Up @@ -771,7 +771,7 @@ module.exports = {
Close_Button: By.css('.pop-up-dialog .pop-up-dialog__header .pop-up-dialog__btn_close'),
Dialog_Message: By.css('.pop-up-dialog .confirm-dialog__message'),
Keep_Online_Target_Set_Button: By.css('.pop-up-dialog .confirm-dialog__btn-container .btn-tertiary'),
Unset_Online_Target_Button: By.css('.pop-up-dialog .confirm-dialog__btn-container .btn-secondary')
Unset_Online_Target_Button: By.css('.pop-up-dialog .confirm-dialog__btn-container .btn-primary')
},
Offline_Checkbox_State: By.css(
'.feature-set-panel .accordion__container:nth-of-type(3) .accordion__body .target-store__item:nth-of-type(2) .checkbox'
Expand Down Expand Up @@ -1145,10 +1145,10 @@ module.exports = {
'.feature-set-panel .new-item-side-panel__buttons-container .pop-up-dialog__btn_cancel'
),
Save_Button: By.css(
'.feature-set-panel .new-item-side-panel__buttons-container .btn-secondary:nth-of-type(2)'
'.feature-set-panel .new-item-side-panel__buttons-container .btn-tertiary'
),
Save_And_Ingest_Button: By.css(
'.feature-set-panel .new-item-side-panel__buttons-container .btn-secondary:nth-of-type(3)'
'.feature-set-panel .new-item-side-panel__buttons-container .btn_start-ingestion'
)
},
newJobTemplateEdit: {
Expand Down
Loading