Moving vpn-instance yang from VPNMgr > NeutronVPN
[integration/test.git] / csit / variables / YangmanGUIVariables.robot
1 *** Settings ***
2 Documentation     A resource file containing all global Yangman GUI variables
3 ...               to help Yangman GUI and functional testing.
4 Resource          Variables.robot
5
6 *** Variables ***
7 ${YANGMAN_LOGO}    //img[contains(@ng-src, "assets/images/logo_yangman.png") and contains(@id, "page_logo")]
8 ${TOGGLE_MENU_BUTTON}    //a[@id="toggleMenu"]
9 ${LOGOUT_BUTTON}    //a[@id="logout-button"]
10 # Left Panel
11 ${MODULES_TAB_NAME}    Modules
12 ${HISTORY_TAB_NAME}    History
13 ${COLLECTIONS_TAB_NAME}    Collections
14 ${LEFT_TAB_AREA}    //md-tab-content[@id="tab-content-0"]
15 ${MODULES_TAB_SELECTED}    ${LEFT_TAB_AREA}//md-tab-item[@aria-selected="true"]/span[contains(text(), "${MODULES_TAB_NAME}")]
16 ${MODULES_TAB_UNSELECTED}    ${LEFT_TAB_AREA}//md-tab-item[@aria-selected="false"]/span[contains(text(), "${MODULES_TAB_NAME}")]
17 ${HISTORY_TAB_SELECTED}    ${LEFT_TAB_AREA}//md-tab-item[@aria-selected="true"]/span[contains(text(), "${HISTORY_TAB_NAME}")]
18 ${HISTORY_TAB_UNSELECTED}    ${LEFT_TAB_AREA}//md-tab-item[@aria-selected="false"]/span[contains(text(), "${HISTORY_TAB_NAME}")]
19 ${COLLECTIONS_TAB_SELECTED}    ${LEFT_TAB_AREA}//md-tab-item[@aria-selected="true"]/span[contains(text(), "${COLLECTIONS_TAB_NAME}")]
20 ${COLLECTIONS_TAB_UNSELECTED}    ${LEFT_TAB_AREA}//md-tab-item[@aria-selected="false"]/span[contains(text(), "${COLLECTIONS_TAB_NAME}")]
21 ${MODULES_WERE_LOADED_ALERT}    //span[contains(text(), "Modules were loaded.")]
22 ${TOGGLE_MODULE_DETAIL_BUTTON_LEFT}    //md-icon[@class="arrow-switcher material-icons" and @id="toggle-module-detail"]
23 ${TOGGLE_MODULE_DETAIL_BUTTON_RIGHT}    //md-icon[@class="arrow-switcher material-icons arrow-switcher__left"" and @id="toggle-module-detail"]
24 # Modules Tab Left Panel
25 ${MODULE_TAB_CONTENT}    //*[@id="tab-content-2"]
26 ${MODULE_SEARCH_INPUT}    //input[@id="search-modules"]
27 ${MODULE_ID_LABEL}    module_
28 ${MODULE_LIST_ITEM}    ${MODULE_TAB_CONTENT}//md-list-item[contains(@id, "${MODULE_ID_LABEL}")]//div[@class="pointer title layout-align-center-center layout-row"]
29 ${MODULE_LIST_ITEM_COLLAPSED}    ${MODULE_LIST_ITEM}//following-sibling::md-list[@aria-hidden="true"]
30 ${MODULE_LIST_ITEM_EXPANDED}    ${MODULE_LIST_ITEM}//following-sibling::md-list[@aria-hidden="false"]
31 ${MODULE_LIST_MODULE_NAME_XPATH}    ${MODULE_LIST_ITEM}//p[@class="top-element flex"]
32 ${OPERATIONS_LABEL}    operations
33 ${OPERATIONAL_LABEL}    operational
34 ${CONFIG_LABEL}    config
35 ${TESTING_MODULE_NAME}    ${EMPTY}
36 ${TESTING_MODULE_XPATH}    ${MODULE_TAB_CONTENT}//p[contains(., "${TESTING_MODULE_NAME}")]//ancestor::md-list-item[contains(@id, "${MODULE_ID_LABEL}")]
37 # Module Detail
38 ${MODULE_DETAIL_CONTENT}    //*[@id="tab-content-1"]
39 ${MODULE_DETAIL_MODULE_NAME_LABEL}    ${MODULE_DETAIL_CONTENT}//h4
40 ${MODULE_DETAIL_OPERATIONS_TAB_SELECTED}    ${MODULE_DETAIL_CONTENT}//md-tab-item[@aria-selected="true"]//span[contains(text(), "${OPERATIONS_LABEL}")]
41 ${MODULE_DETAIL_OPERATIONS_TAB_DESELECTED}    ${MODULE_DETAIL_CONTENT}//md-tab-item[@aria-selected="false"]//span[contains(text(), "${OPERATIONS_LABEL}")]
42 ${MODULE_DETAIL_OPERATIONAL_TAB_SELECTED}    ${MODULE_DETAIL_CONTENT}//md-tab-item[@aria-selected="true"]//span[contains(text(), "${OPERATIONAL_LABEL}")]
43 ${MODULE_DETAIL_OPERATIONAL_TAB_DESELECTED}    ${MODULE_DETAIL_CONTENT}//md-tab-item[@aria-selected="false"]//span[contains(text(), "${OPERATIONAL_LABEL}")]
44 ${MODULE_DETAIL_CONFIG_TAB_SELECTED}    ${MODULE_DETAIL_CONTENT}//md-tab-item[@aria-selected="true"]//span[contains(text(), "${CONFIG_LABEL}")]
45 ${MODULE_DETAIL_CONFIG_TAB_DESELECTED}    ${MODULE_DETAIL_CONTENT}//md-tab-item[@aria-selected="false"]//span[contains(text(), "${CONFIG_LABEL}")]
46 ${MODULE_DETAIL_TAB_CONTENT_LABEL}    tab-content-
47 ${MODULE_DETAIL_ACTIVE_TAB_CONTENT}    ${MODULE_DETAIL_CONTENT}//md-tab-content[contains(@class, "md-active")]
48 ${MODULE_DETAIL_EXPAND_BRANCH_BUTTON}    ${MODULE_DETAIL_ACTIVE_TAB_CONTENT}//md-icon[contains(., "add")]
49 ${MODULE_DETAIL_COLLAPSE_BRANCH_BUTTON}    ${MODULE_DETAIL_ACTIVE_TAB_CONTENT}//md-list-item//md-icon[contains(., "remove")]
50 ${BRANCH_LABEL}    ${EMPTY}
51 ${NETWORK_TOPOLOGY_LABEL}    network-topology
52 ${TOPOLOGY_TOPOLOGY_ID_LABEL}    topology {topology-id}
53 ${NODE_NODE_ID_LABEL}    node {node-id}
54 ${LINK_LINK_ID_LABEL}    link {link-id}
55 ${BRANCH_ID_LABEL}    branch-
56 ${MODULE_DETAIL_BRANCH}    ${MODULE_DETAIL_ACTIVE_TAB_CONTENT}//md-list-item[contains(@id, "${BRANCH_ID_LABEL}")]
57 ${MODULE_DETAIL_BRANCH_BUTTON}    ${MODULE_DETAIL_BRANCH}/button
58 ${MODULE_DETAIL_BRANCH_LABEL}    ${MODULE_DETAIL_BRANCH}//span[contains(@class, "indented tree-label ng-binding flex") and contains(text(), "${BRANCH_LABEL}")]
59 #History Tab Left Panel
60 ${HISTORY_SEARCH_INPUT}    //input[@id="search-history"]
61 ${SAVE_HISTORY_REQUEST_TO_COLLECTION_BUTTON}    //button[@id="history-save-requests"]
62 ${DELETE_HISTORY_REQUEST_MENU}    //button[@id="history-delete-menu"]
63 ${DELETE_SELECTED_HISTORY_REQUEST_BUTTON}    //button[@id="history-delete-selected"]
64 ${DELETE_ALL_HISTORY_REQUESTS_BUTTON}    //button[@id="history-delete-all"]
65 ${SELECT_HISTORY_REQUEST_MENU}    //button[@id="history-select-menu"]
66 ${SELECT_ALL_HISTORY_REQUESTS_BUTTON}    //button[@id="history-select-all"]
67 ${DESELECT_ALL_HISTORY_REQUESTS_BUTTON}    //button[@id="history-deselect-all"]
68 #Collections Tab Left Panel
69 ${COLLECTIONS_SEARCH_INPUT}    //input[@id="search-collections"]
70 ${SAVE_SELECTED_REQUEST_TO_COLLECTION_BUTTON}    //button[@id="collections-save-selected"]
71 ${IMPORT_COLLECTION_BUTTON}    //button[@id="importCollection"]
72 ${DELETE_HISTORY_REQUEST_MENU}    //button[@id="history-delete-menu"]
73 ${DELETE_SELECTED_HISTORY_REQUEST_BUTTON}    //button[@id="history-delete-selected"]
74 ${DELETE_ALL_HISTORY_REQUESTS_BUTTON}    //button[@id="history-delete-all"]
75 ${SELECT_HISTORY_REQUEST_MENU}    //button[@id="history-select-menu"]
76 ${SELECT_ALL_HISTORY_REQUESTS_BUTTON}    //button[@id="history-select-all"]
77 ${DESELECT_ALL_HISTORY_REQUESTS_BUTTON}    //button[@id="history-deselect-all"]
78 #Right Panel Header
79 ${OPERATION_NAME}    EMPTY
80 ${OPERATION_SELECT_INPUT}    //md-select[@id="request-selected-operation"]
81 ${OPERATION_SELECT_INPUT_CLICKABLE}    ${OPERATION_SELECT_INPUT}//parent::md-input-container
82 ${SELECT_BACKDROP}    //md-backdrop[@class="md-select-backdrop md-click-catcher ng-scope"]
83 ${OPERATION_SELECT_MENU_EXPANDED}    //div[contains(@aria-hidden, "false") and contains(@id,"select_container_10")]
84 ${GET_OPTION}     //*[@id="select_option_12"]
85 ${POST_OPTION}    //*[@id="select_option_13"]
86 ${PUT_OPTION}     //*[@id="select_option_14"]
87 ${DELETE_OPTION}    //*[@id="select_option_15"]
88 ${SELECTED_OPERATION_XPATH}    ${OPERATION_SELECT_INPUT}//span/div[contains(text(), "${OPERATION_NAME}")]
89 ${REQUEST_URL_INPUT}    //*[@id="request-url"]
90 ${SEND_BUTTON}    //*[@id="send-request"]
91 ${SAVE_BUTTON}    //*[@id="save-request"]
92 ${PARAMETERS_BUTTON}    //*[@id="show-parameters"]
93 ${FORM_RADIOBUTTON_SELECTED}    //md-radio-button[contains(@id, "shown-data-type-form") and contains(@aria-checked, "true")]
94 ${FORM_RADIOBUTTON_UNSELECTED}    //md-radio-button[contains(@id, "shown-data-type-form") and contains(@aria-checked, "false")]
95 ${JSON_RADIOBUTTON_SELECTED}    //md-radio-button[contains(@id, "shown-data-type-json") and contains(@aria-checked, "true")]
96 ${JSON_RADIOBUTTON_UNSELECTED}    //md-radio-button[contains(@id, "shown-data-type-json") and contains(@aria-checked, "false")]
97 ${FILL_FORM_WITH_RECEIVED_DATA_CHECKBOX_SELECTED}    //span[contains(text(), "Fill form with received data after execution")]//ancestor::md-checkbox[@aria-checked="true"]
98 ${FILL_FORM_WITH_RECEIVED_DATA_CHECKBOX_UNSELECTED}    //span[contains(text(), "Fill form with received data after execution")]//ancestor::md-checkbox[@aria-checked="false"]
99 ${SHOW_SENT_DATA_CHECKBOX_SELECTED}    //md-checkbox[@id="show-sent-data-checkbox" and @aria-checked="true"]
100 ${SHOW_SENT_DATA_CHECKBOX_UNSELECTED}    //md-checkbox[@id="show-sent-data-checkbox" and @aria-checked="false"]
101 ${SHOW_RECEIVED_DATA_CHECKBOX_SELECTED}    //md-checkbox[@id="show-received-data-checkbox" and @aria-checked="true"]
102 ${SHOW_RECEIVED_DATA_CHECKBOX_UNSELECTED}    //md-checkbox[@id="show-received-data-checkbox" and @aria-checked="false"]
103 ${MILLISECONDS_LABEL}    ms
104 ${STATUS_LABEL}    //span[contains(text(), "Status:")]
105 ${STATUS_VALUE}    //span[@id="info-request-status"]
106 ${THREE_DOTS_DEFAULT_STATUS_AND_TIME}    ...
107 ${20X_REQUEST_CODE_REGEX}    .*([2][0][0-6]).*
108 ${40X_REQUEST_CODE_REGEX}    .*([4][0-1][0-9]).*
109 ${20X_OR_40X_REQUEST_CODE_REGEX}    .*([24][0-1][0-9]).*
110 ${TIME_LABEL}     //span[contains(text(), "Time:")]
111 ${TIME_VALUE}     //span[@id="info-request-execution-time"]
112 ${API_PATH}       //section[contains(@class, "yangmanModule__right-panel__header")]//section[@class="layout-wrap layout-row flex"]
113 ${HEADER_LINEAR_PROGRESSION_BAR_HIDDEN}    //section[contains(@class, "yangmanModule__right-panel__header")]/md-progress-linear[@aria-hidden="true"]
114 #Right Panel Json Content
115 ${SENT_DATA_CODE_MIRROR_DISPLAYED}    //div[@id="sentData" and @aria-hidden="false"]
116 ${SENT_DATA_CODE_MIRROR_CODE}    ${SENT_DATA_CODE_MIRROR_DISPLAYED}//div[@class="CodeMirror-code"]
117 ${SENT_DATA_LABEL}    ${SENT_DATA_CODE_MIRROR_DISPLAYED}//h5[contains(text(), Sent data)]
118 ${SENT_DATA_ENLARGE_FONT_SIZE_BUTTON}    ${SENT_DATA_CODE_MIRROR_DISPLAYED}//button[contains(@aria-label, arrow_drop_up)]
119 ${SENT_DATA_REDUCE_FONT_SIZE_BUTTON}    ${SENT_DATA_CODE_MIRROR_DISPLAYED}//button[contains(@aria-label, arrow_drop_down)]
120 ${RECEIVED_DATA_CODE_MIRROR_DISPLAYED}    //div[@id="ReceiveData" and @aria-hidden="false"]
121 ${RECEIVED_DATA_CODE_MIRROR_CODE}    ${RECEIVED_DATA_CODE_MIRROR_DISPLAYED}//div[@class="CodeMirror-code"]
122 ${RECEIVED_DATA_LABEL}    ${RECEIVED_DATA_CODE_MIRROR_DISPLAYED}//h5[contains(text(), Received data)]
123 ${RECEIVED_DATA_ENLARGE_FONT_SIZE_BUTTON}    ${RECEIVED_DATA_CODE_MIRROR_DISPLAYED}//button[contains(@aria-label, arrow_drop_up)]
124 ${RECEIVED_DATA_REDUCE_FONT_SIZE_BUTTON}    ${RECEIVED_DATA_CODE_MIRROR_DISPLAYED}//button[contains(@aria-label, arrow_drop_down)]
125 ${JSON_ERROR_MESSAGE_INPUT_IS_MISSING}    Error parsing input: Input is missing some of the keys of
126 ${JSON_ERROR_MESSAGE_CONTENT_DOES_NOT_EXIST}    Request could not be completed because the relevant data model content does not exist
127 ${JSON_ERROR_MESSAGE_DATA_DOES_NOT_EXIST_FOR_PATH}    Data does not exist for path
128 ${JSON_ERROR_MESSAGE_INPUT_IS_REQUIRED}    Input is required.
129 # Right Panel Form Content
130 ${TOPOLOGY_ID_LABEL}    topology-id
131 ${FORM_ERROR_MESSAGE}    ${EMPTY}
132 ${FORM_CONTENT}    //section[contains(@class, "yangmanModule__right-panel__form bottom-content ng-scope") and contains(@aria-hidden, "false")]
133 ${ERROR_MESSAGE_IDENTIFIERS_IN_PATH_REQUIRED}    Identifiers in path are required. Please fill empty identifiers for successful request execution.
134 ${FORM_ERROR_MESSAGE_XPATH}    //p[contains(@id, "form-error-message") and contains (text(), "${FORM_ERROR_MESSAGE}")]
135 ${FORM_TOP_ELEMENT_CONTAINER}    ${FORM_CONTENT}//div[contains(@class, "yangmanModule__right-panel__form__element-container ng-scope")]
136 ${FORM_TOP_ELEMENT_POINTER}    ${FORM_TOP_ELEMENT_CONTAINER}//p[contains(@class, "top-element pointer")]
137 ${FORM_TOP_ELEMENT_LABEL_XPATH}    ${FORM_TOP_ELEMENT_POINTER}//span[contains(@class, "ng-binding ng-scope")]
138 ${FORM_TOP_ELEMENT_YANGMENU}    ${FORM_TOP_ELEMENT_CONTAINER}//yang-form-menu
139 ${FORM_TOP_ELEMENT_LIST_ITEM_ROW}    ${FORM_TOP_ELEMENT_CONTAINER}//section[@class="yangmanModule__right-panel__form__list__paginator ng-scope layout-column flex"]
140 ${FORM_TOP_ELEMENT_LIST_ITEM}    ${FORM_TOP_ELEMENT_LIST_ITEM_ROW}//md-tab-item[contains(@class, "md-tab ng-scope ng-isolate-scope md-ink-ripple")]
141 ${FORM_TOP_ELEMENT_LIST_ITEM_LABEL}    ${FORM_TOP_ELEMENT_LIST_ITEM}/span
142 ${YANGMENU_ADD_LIST_ITEM_BUTTON}    ${FORM_CONTENT}//yang-form-menu//button[@ng-click="addListItemFunc(); closeMenu();"]
143 ${YANGMENU_SHOW_ALL_LIST_ITEMS}    ${FORM_CONTENT}//yang-form-menu//button[@ng-click="switchSection('items'); setItemList();"]
144 ${YANGMENU_AUGMENTATIONS_BUTTON}    ${FORM_CONTENT}//yang-form-menu//button[ng-click="switchSection('augmentations')"]
145 ${FORM_SHOW_PREVIOUS_ITEM_ARROW}    //md-prev-button[@aria-label="Previous Page"]
146 ${FORM_SHOW_NEXT_ITEM_ARROW}    //md-next-button[@aria-label="Next Page"]