blob: ac608c274636ab318b1009c212968b362b704289 [file] [log] [blame]
Rahul Maheshwarib940e192020-07-07 01:52:24 -05001*** Settings ***
2
3Documentation Test OpenBMC GUI "Overview" menu.
4
Rahul Maheshwari41747da2020-11-17 09:09:52 -06005Resource ../../lib/gui_resource.robot
manashsarma2544cb12020-08-23 14:25:08 -05006Resource ../../../lib/logging_utils.robot
manashsarmafb353662020-08-27 05:12:04 -05007Resource ../../../lib/list_utils.robot
manashsarma6d584de2020-08-30 02:33:07 -05008Resource ../../../lib/bmc_network_utils.robot
9
10Library String
Rahul Maheshwarib940e192020-07-07 01:52:24 -050011
rramyasr-in13242572022-11-08 01:44:52 -060012Suite Setup Run Keywords Launch Browser And Login GUI AND Redfish.Login
13Suite Teardown Run Keywords Close Browser AND Redfish.Logout
Rahul Maheshwarib940e192020-07-07 01:52:24 -050014Test Setup Test Setup Execution
15
George Keishing0302e9a2023-10-12 21:48:35 +053016Force Tags Overview_Menu
Rahul Maheshwarib940e192020-07-07 01:52:24 -050017
18*** Variables ***
19
rramyasr-in5f280c02022-11-11 06:41:00 -060020${xpath_overview_page_header} //h1[contains(text(), "Overview")]
21${xpath_server_information_view_more_button} (//*[text()="View more"])[1]
22${xpath_firmware_information_view_more_button} (//*[text()="View more"])[2]
rramyasr-in40334392022-11-21 10:14:51 -060023${xpath_network_information_view_more_button} (//*[text()="View more"])[3]
rramyasr-in5f280c02022-11-11 06:41:00 -060024${xpath_power_information_view_more_button} (//*[text()="View more"])[4]
25${xpath_event_logs_view_more_button} (//*[text()="View more"])[5]
26${xpath_inventory_and_leds_view_more_button} (//*[text()="View more"])[6]
27${xpath_launch_host_console} //*[@data-test-id='overviewQuickLinks-button-solConsole']
28${xpath_led_button} //*[@data-test-id='overviewInventory-checkbox-identifyLed']
rramyasr-inb3442ed2023-03-01 10:48:52 -060029${xpath_dumps_view_more_button} (//*[text()="View more"])[7]
30${xpath_critical_logs_count} //dt[contains(text(),'Critical')]/following-sibling::dd[1]
rramyasr-ind99803f2023-03-21 07:08:01 -050031${xpath_warning_logs_count} //dt[contains(text(),'Warning')]/following-sibling::dd[1]
rramyasr-in07d10042023-04-24 07:05:02 -050032${xpath_asset_tag} //dt[contains(text(),'Asset tag')]/following-sibling::dd[1]
33${xpath_operating_mode} //dt[contains(text(),'Operating mode')]/following-sibling::dd[1]
34${xpath_machine_model} //dt[contains(text(),'Model')]/following-sibling::dd[1]
35${xpath_serial_number} //dt[contains(text(),'Serial number')]/following-sibling::dd[1]
Ashwini Chandrappa90c6a812021-07-07 04:50:00 -050036
Rahul Maheshwarib940e192020-07-07 01:52:24 -050037*** Test Cases ***
38
39Verify Existence Of All Sections In Overview Page
40 [Documentation] Verify existence of all sections in Overview page.
41 [Tags] Verify_Existence_Of_All_Sections_In_Overview_Page
42
rramyasr-in1a79b662022-06-13 00:25:50 -050043 Page Should Contain BMC date and time
Ashwini Chandrappa516f70d2021-12-14 01:21:29 -060044 Page Should Contain Firmware information
Rahul Maheshwarib940e192020-07-07 01:52:24 -050045 Page Should Contain Server information
Ashwini Chandrappa516f70d2021-12-14 01:21:29 -060046 Wait Until Page Contains Network information timeout=10
rramyasr-in532c37f2021-12-03 03:39:14 -060047 Page Should Contain Power information
48 Page Should Contain Event logs
49 Page Should Contain Inventory and LEDs
rramyasr-ine6818d12022-01-13 07:23:40 -060050 Page Should Contain Dumps
Rahul Maheshwarib940e192020-07-07 01:52:24 -050051
rramyasr-in19e553c2022-10-27 02:17:41 -050052
manashsarma6d584de2020-08-30 02:33:07 -050053Verify Network Information In Overview Page
54 [Documentation] Verify values under network information section.
George Keishingf9248952021-05-28 07:52:37 -050055 [Tags] Verify_Network_Information_In_Overview_Page
manashsarma6d584de2020-08-30 02:33:07 -050056
57 ${hostname}= Get BMC Hostname
58 Page Should Contain ${hostname}
59
60 # Get all IP addresses and prefix lengths on system.
61
ganesanb4d430282023-04-27 14:33:23 +000062 ${resp}= Redfish.Get Attribute /redfish/v1/Managers/${MANAGER_ID}/EthernetInterfaces/eth0 IPv4StaticAddresses
rramyasr-in690fcd42022-10-27 03:25:39 -050063 ${ip_addr}= Set Variable ${resp[0]['Address']}
64 Page Should Contain ${ip_addr}
manashsarma6d584de2020-08-30 02:33:07 -050065
manashsarma6d584de2020-08-30 02:33:07 -050066
manashsarmae18f99e2020-08-28 10:12:57 -050067Verify Server Information Section
68 [Documentation] Verify values under server information section in overview page.
69 [Tags] Verify_Server_Information_Section
70
rramyasr-in07d10042023-04-24 07:05:02 -050071 # Model.
72 ${redfish_machine_model}= Redfish.Get Attribute ${SYSTEM_BASE_URI} Model
73 Element Should Contain ${xpath_machine_model} ${redfish_machine_model}
manashsarmae18f99e2020-08-28 10:12:57 -050074
rramyasr-in07d10042023-04-24 07:05:02 -050075 # Serial Number.
76 ${redfish_serial_number}= Redfish.Get Attribute ${SYSTEM_BASE_URI} SerialNumber
77 Element Should Contain ${xpath_serial_number} ${redfish_serial_number}
manashsarmae18f99e2020-08-28 10:12:57 -050078
rramyasr-in07d10042023-04-24 07:05:02 -050079 # Asset Tag.
80 ${redfish_asset_tag}= Redfish.Get Attribute ${SYSTEM_BASE_URI} AssetTag
81 Element Should Contain ${xpath_asset_tag} ${redfish_asset_tag}
manashsarmae18f99e2020-08-28 10:12:57 -050082
rramyasr-in07d10042023-04-24 07:05:02 -050083 # Operating mode.
84 ${redfish_operating_mode}= Redfish.Get Attribute ${BIOS_ATTR_URI} Attributes
85 Element Should Contain ${xpath_operating_mode} ${redfish_operating_mode['pvm_system_operating_mode']}
manashsarmae18f99e2020-08-28 10:12:57 -050086
87
manashsarma554ddec2020-08-26 00:46:02 -050088Verify BMC Information Section
89 [Documentation] Verify BMC information section in overview page.
90 [Tags] Verify_BMC_Information_Section
91
92 ${firmware_version}= Redfish Get BMC Version
93 Page Should Contain ${firmware_version}
94
95
manashsarma43568c22020-08-19 12:16:24 -050096Verify Edit Network Setting Button
97 [Documentation] Verify navigation to network setting page after clicking the button in overview page.
98 [Tags] Verify_Edit_Network_Setting_Button
99
rramyasr-in40334392022-11-21 10:14:51 -0600100 Click Element ${xpath_network_information_view_more_button}
rramyasr-in732cc3f2022-11-16 05:30:57 -0600101 Wait Until Page Contains Element ${xpath_network_heading}
manashsarma43568c22020-08-19 12:16:24 -0500102
103
rramyasr-inb3442ed2023-03-01 10:48:52 -0600104Verify Event Under Critical Event Logs Section
105 [Documentation] Verify event under critical event logs section in case of any event.
106 [Tags] Verify_Event_Under_Critical_Event_Logs_Section
107 [Teardown] Redfish Purge Event Log
manashsarmafb353662020-08-27 05:12:04 -0500108
109 Redfish Purge Event Log
110 Click Element ${xpath_refresh_button}
111 Generate Test Error Log
Ashwini Chandrappa243a1f22021-07-26 01:10:04 -0500112 Click Element ${xpath_refresh_button}
rramyasr-inbee71fa2023-08-04 02:01:31 -0500113 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30
rramyasr-inb3442ed2023-03-01 10:48:52 -0600114 ${log_count}= Get Text ${xpath_critical_logs_count}
115 Should Be True '${log_count}' == '${1}'
manashsarmafb353662020-08-27 05:12:04 -0500116
117
rramyasr-ind99803f2023-03-21 07:08:01 -0500118Verify Event Under Warning Event Logs Section
119 [Documentation] Verify event under warning event logs section in case of any event.
120 [Tags] Verify_Event_Under_Warning_Event_Logs_Section
121 [Teardown] Redfish Purge Event Log
122
123 Redfish Purge Event Log
124 Click Element ${xpath_refresh_button}
125
126 # Generate a predictable error for testing purpose.
127 BMC Execute Command ${CMD_PREDICTIVE_ERROR}
128
129 Click Element ${xpath_refresh_button}
rramyasr-inaf2226e2023-09-05 01:43:36 -0500130 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30
rramyasr-ind99803f2023-03-21 07:08:01 -0500131
132 ${log_count}= Get Text ${xpath_warning_logs_count}
133 Should Be Equal As Integers ${log_count} 1
134
135
rramyasr-in40334392022-11-21 10:14:51 -0600136Verify View More Event Logs Button
137 [Documentation] Verify view more event log button in overview page.
138 [Tags] Verify_View_More_Event_Logs_Button
manashsarma7d0a4122020-08-23 13:41:03 -0500139
140 Generate Test Error Log
rramyasr-in40334392022-11-21 10:14:51 -0600141 Page Should Contain Element ${xpath_event_logs_view_more_button} timeout=30
142 Click Element ${xpath_event_logs_view_more_button}
rramyasr-in5f280c02022-11-11 06:41:00 -0600143 Wait Until Page Contains Element ${xpath_event_logs_heading} timeout=30
manashsarma7d0a4122020-08-23 13:41:03 -0500144
145
rramyasr-inb18e15e2022-08-11 05:22:20 -0500146Verify Host Console Button In Overview Page
147 [Documentation] Click host console button and verify page navigation to host console page.
148 [Tags] Verify_Host_Console_Button_In_Overview_Page
manashsarmaa3a25362020-08-23 09:23:28 -0500149
rramyasr-inb18e15e2022-08-11 05:22:20 -0500150 Click Element ${xpath_launch_host_console}
151 Wait Until Page Contains Element ${xpath_host_console_heading}
manashsarmaa3a25362020-08-23 09:23:28 -0500152
153
manashsarmaffb30932020-08-24 07:31:54 -0500154Verify Server LED Turn On
155 [Documentation] Turn on server LED via GUI and verify its status via Redfish.
156 [Tags] Verify_Server_LED_Turn_On
157
Ashwini Chandrappa90c6a812021-07-07 04:50:00 -0500158 # Turn Off the server LED via Redfish and refresh GUI.
George Keishing52eb7c22022-03-11 10:58:53 -0600159 Set IndicatorLED State Off
Ashwini Chandrappa90c6a812021-07-07 04:50:00 -0500160 Refresh GUI
manashsarmaffb30932020-08-24 07:31:54 -0500161
Ashwini Chandrappa90c6a812021-07-07 04:50:00 -0500162 # Turn ON the LED via GUI.
rramyasr-in436de602023-03-03 03:13:10 -0600163 Click Element ${xpath_led_button}
manashsarmaffb30932020-08-24 07:31:54 -0500164
Ashwini Chandrappa90c6a812021-07-07 04:50:00 -0500165 # Cross check that server LED ON state via Redfish.
George Keishing52eb7c22022-03-11 10:58:53 -0600166 Verify Identify LED State Via Redfish Lit
manashsarmaffb30932020-08-24 07:31:54 -0500167
168
169Verify Server LED Turn Off
170 [Documentation] Turn off server LED via GUI and verify its status via Redfish.
171 [Tags] Verify_Server_LED_Turn_Off
172
Ashwini Chandrappa90c6a812021-07-07 04:50:00 -0500173 # Turn On the server LED via Redfish and refresh GUI.
George Keishing52eb7c22022-03-11 10:58:53 -0600174 Set IndicatorLED State Lit
Ashwini Chandrappa90c6a812021-07-07 04:50:00 -0500175 Refresh GUI
manashsarmaffb30932020-08-24 07:31:54 -0500176
Ashwini Chandrappa90c6a812021-07-07 04:50:00 -0500177 # Turn OFF the LED via GUI.
manashsarmaffb30932020-08-24 07:31:54 -0500178 Click Element At Coordinates ${xpath_led_button} 0 0
179
180 # Cross check that server LED off state via Redfish.
George Keishing52eb7c22022-03-11 10:58:53 -0600181 Verify Identify LED State Via Redfish Off
manashsarmaffb30932020-08-24 07:31:54 -0500182
183
manashsarma65c9e142020-08-23 07:27:52 -0500184Verify BMC Time In Overview Page
185 [Documentation] Verify that BMC date from GUI matches with BMC time via Redfish.
186 [Tags] Verify_BMC_Time_In_Overview_Page
187
ganesanb4d430282023-04-27 14:33:23 +0000188 ${date_time}= Redfish.Get Attribute ${REDFISH_BASE_URI}Managers/${MANAGER_ID} DateTime
manashsarma65c9e142020-08-23 07:27:52 -0500189 ${converted_date}= Convert Date ${date_time} result_format=%Y-%m-%d
190
191 Page Should Contain ${converted_date}
192
193
manashsarma43458ff2021-08-17 05:42:47 -0500194Verify BMC Information At Host Power Off State
195 [Documentation] Verify that BMC information is displayed at host power off state.
196 [Tags] Verify_BMC_Information_At_Host_Power_Off_State
197
198 Redfish Power Off stack_mode=skip
199 ${firmware_version}= Redfish Get BMC Version
200 Page Should Contain ${firmware_version}
201
202
rramyasr-in305d23a2022-01-19 01:32:04 -0600203Verify View More Button For Dumps
204 [Documentation] Verify view more button for dumps button in overview page.
205 [Tags] Verify_View_More_Button_For_Dumps
206
rramyasr-inb3442ed2023-03-01 10:48:52 -0600207 Wait Until Page Contains Element ${xpath_dumps_view_more_button} timeout=30
208 Click Element ${xpath_dumps_view_more_button}
rramyasr-in5f280c02022-11-11 06:41:00 -0600209 Wait Until Page Contains Element ${xpath_dumps_header} timeout=30
210
211
212Verify View More Button Under Server Information Section
213 [Documentation] Verify view more button under server information section in overview page.
214 [Tags] Verify_View_More_Button_Under_Server_Information_Section
215
rramyasr-in40334392022-11-21 10:14:51 -0600216 Wait Until Page Contains Element ${xpath_server_information_view_more_button} timeout=30
217 Click Element ${xpath_server_information_view_more_button}
rramyasr-in5f280c02022-11-11 06:41:00 -0600218 Wait Until Page Contains Element ${xpath_inventory_and_leds_heading} timeout=30
219
220
221Verify View More Button Under Firmware Information Section
222 [Documentation] Verify view more button under firmware information section in overview page.
223 [Tags] Verify_View_More_Button_Under_Firmware_Information_Section
224
225 Wait Until Page Contains Element ${xpath_firmware_information_view_more_button} timeout=30
226 Click Element ${xpath_firmware_information_view_more_button}
227 Wait Until Page Contains Element ${xpath_firmware_heading} timeout=30
228
229
230Verify View More Button Under Network Information Section
231 [Documentation] Verify view more button under network information section in overview page.
George Keishing44cce892022-11-23 08:05:57 -0600232 [Tags] Verify_View_More_Button_Under_Network_Information_Section
rramyasr-in5f280c02022-11-11 06:41:00 -0600233
rramyasr-in40334392022-11-21 10:14:51 -0600234 Wait Until Page Contains Element ${xpath_network_information_view_more_button} timeout=30
235 Click Element ${xpath_network_information_view_more_button}
rramyasr-in5f280c02022-11-11 06:41:00 -0600236 Wait Until Page Contains Element ${xpath_network_heading} timeout=30
237
238
239Verify View More Button Under Power Information Section
240 [Documentation] Verify view more button under power information section in overview page.
George Keishing44cce892022-11-23 08:05:57 -0600241 [Tags] Verify_View_More_Button_Under_Power_Information_Section
rramyasr-in5f280c02022-11-11 06:41:00 -0600242
243 Wait Until Page Contains Element ${xpath_power_information_view_more_button} timeout=30
244 Click Element ${xpath_power_information_view_more_button}
245 Wait Until Page Contains Element ${xpath_power_heading} timeout=30
246
247
248Verify View More Button Under Event Logs Section
249 [Documentation] Verify view more button under event logs section in overview page.
250 [Tags] Verify_View_More_Button_Under_Event_Logs_Section
251
252 Wait Until Page Contains Element ${xpath_event_logs_view_more_button} timeout=30
253 Click Element ${xpath_event_logs_view_more_button}
254 Wait Until Page Contains Element ${xpath_event_logs_heading} timeout=30
255
256
257Verify View More Button Under Inventory And LEDs Section
258 [Documentation] Verify view more button under inventory and leds section in overview page.
259 [Tags] Verify_View_More_Button_Under_Inventory_And_LEDs_Section
260
261 Wait Until Page Contains Element ${xpath_inventory_and_leds_view_more_button} timeout=30
262 Click Element ${xpath_inventory_and_leds_view_more_button}
263 Wait Until Page Contains Element ${xpath_inventory_and_leds_heading} timeout=30
264
rramyasr-in305d23a2022-01-19 01:32:04 -0600265
rramyasr-in63378272023-04-06 23:58:46 -0500266Verify Text Under Server Information Section
267 [Documentation] Verify text under server information section in overview page.
268 [Tags] Verify_Text_Under_Server_Information_Section
269
270 Page Should Contain Model
271 Page Should Contain Operating mode
272 Page Should Contain Serial number
273 Page Should Contain Service login
274 Page Should Contain Asset tag
275
276
277Verify Text Under Firmware Information Section
278 [Documentation] Verify text under firmware information section in overview page.
279 [Tags] Verify_Text_Under_Firmware_Information_Section
280
281 Page Should Contain Running
282 Page Should Contain Backup
283 Page Should Contain Access key expiration
284
285
286Verify Text Under Network Information Section
287 [Documentation] Verify text under network information section in overview page.
288 [Tags] Verify_Text_Under_Network_Information_Section
289
290 Page Should Contain Hostname
291 Page Should Contain IPv4
292 Page Should Contain DHCPv4
293
294
295Verify Text Under Power Information Section
296 [Documentation] Verify text under power information section in overview page.
297 [Tags] Verify_Text_Under_Power_Information_Section
298
299 Page Should Contain Power consumption
300 Page Should Contain Idle power saver
301 Page Should Contain Power cap
302 Page Should Contain Power mode
303
304
305Verify Text Under Event Logs Section
306 [Documentation] Verify text under event logs section in overview page.
307 [Tags] Verify_Text_Under_Event_Logs_Section
308
309 Page Should Contain Critical
310 Page Should Contain Warning
311
312
313Verify Text Under Inventory And LEDs Section
314 [Documentation] Verify text under inventory and leds section in overview page.
George Keishing7af7d862023-04-24 18:48:13 +0530315 [Tags] Verify_Text_Under_Inventory_And_LEDs_Section
rramyasr-in63378272023-04-06 23:58:46 -0500316
317 Page Should Contain System identify LED
318
319
320Verify Text Under Dumps Section
321 [Documentation] Verify text under Dumps section in overview page.
322 [Tags] Verify_Text_Under_Dumps_Section
323
324 Page Should Contain Total
325
326
Rahul Maheshwarib940e192020-07-07 01:52:24 -0500327*** Keywords ***
328
329Test Setup Execution
330 [Documentation] Do test case setup tasks.
331
332 Click Element ${xpath_overview_menu}
333 Wait Until Page Contains Element ${xpath_overview_page_header}
rramyasr-in7776e322022-10-10 11:01:13 -0500334 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30
George Keishing52eb7c22022-03-11 10:58:53 -0600335
rramyasr-in13242572022-11-08 01:44:52 -0600336
George Keishing52eb7c22022-03-11 10:58:53 -0600337Verify Identify LED State Via Redfish
338 [Documentation] Verify that Redfish identify LED system with given state.
339 [Arguments] ${expected_state}
340 # Description of argument(s):
341 # expected_state Expected value of Identify LED.
342
Yi Huc32434a2024-01-11 17:33:10 -0800343 ${led_state}= Redfish.Get Attribute /redfish/v1/Systems/${SYSTEM_ID} IndicatorLED
rramyasr-in436de602023-03-03 03:13:10 -0600344 Should Be True '${led_state}' == '${expected_state}'
George Keishing52eb7c22022-03-11 10:58:53 -0600345
346
347Set IndicatorLED State
George Keishinge23afb52022-03-17 08:25:49 -0500348 [Documentation] Perform redfish PATCH operation.
George Keishing52eb7c22022-03-11 10:58:53 -0600349 [Arguments] ${led_state} ${expect_resp_code}=[200, 204]
350 # Description of argument(s):
351 # led_state IndicatorLED state to "off", "Lit" etc.
352 # expect_resp_code Expected HTTPS response code. Default [200, 204]
353
rramyasr-in436de602023-03-03 03:13:10 -0600354
Yi Huc32434a2024-01-11 17:33:10 -0800355 Redfish.Patch /redfish/v1/Systems/${SYSTEM_ID} body={"IndicatorLED": "${led_state}"}
rramyasr-in436de602023-03-03 03:13:10 -0600356 ... valid_status_codes=${expect_resp_code}
357