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