1*** Settings *** 2 3Documentation Test OpenBMC GUI "Overview" menu. 4 5Resource ../../lib/gui_resource.robot 6Resource ../../../lib/logging_utils.robot 7Resource ../../../lib/list_utils.robot 8Resource ../../../lib/bmc_network_utils.robot 9 10Library String 11 12Suite Setup Run Keywords Launch Browser And Login GUI AND Redfish.Login 13Suite Teardown Run Keywords Close Browser AND Redfish.Logout 14Test Setup Test Setup Execution 15 16Test Tags Overview_Menu 17 18*** Variables *** 19 20${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] 23${xpath_network_information_view_more_button} (//*[text()="View more"])[3] 24${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'] 29${xpath_dumps_view_more_button} (//*[text()="View more"])[7] 30${xpath_critical_logs_count} //dt[contains(text(),'Critical')]/following-sibling::dd[1] 31${xpath_warning_logs_count} //dt[contains(text(),'Warning')]/following-sibling::dd[1] 32${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] 36 37*** 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 43 Page Should Contain BMC date and time 44 Page Should Contain Firmware information 45 Page Should Contain Server information 46 Wait Until Page Contains Network information timeout=10 47 Page Should Contain Power information 48 Page Should Contain Event logs 49 Page Should Contain Inventory and LEDs 50 Page Should Contain Dumps 51 52 53Verify Network Information In Overview Page 54 [Documentation] Verify values under network information section. 55 [Tags] Verify_Network_Information_In_Overview_Page 56 57 ${hostname}= Get BMC Hostname 58 Page Should Contain ${hostname} 59 60 # Get all IP addresses and prefix lengths on system. 61 62 ${resp}= Redfish.Get Attribute /redfish/v1/Managers/${MANAGER_ID}/EthernetInterfaces/eth0 IPv4StaticAddresses 63 ${ip_addr}= Set Variable ${resp[0]['Address']} 64 Page Should Contain ${ip_addr} 65 66 67Verify Server Information Section 68 [Documentation] Verify values under server information section in overview page. 69 [Tags] Verify_Server_Information_Section 70 71 # Model. 72 ${redfish_machine_model}= Redfish.Get Attribute ${SYSTEM_BASE_URI} Model 73 Element Should Contain ${xpath_machine_model} ${redfish_machine_model} 74 75 # Serial Number. 76 ${redfish_serial_number}= Redfish.Get Attribute ${SYSTEM_BASE_URI} SerialNumber 77 Element Should Contain ${xpath_serial_number} ${redfish_serial_number} 78 79 # Asset Tag. 80 ${redfish_asset_tag}= Redfish.Get Attribute ${SYSTEM_BASE_URI} AssetTag 81 Element Should Contain ${xpath_asset_tag} ${redfish_asset_tag} 82 83 # 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']} 86 87 88Verify 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 96Verify 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 100 Click Element ${xpath_network_information_view_more_button} 101 Wait Until Page Contains Element ${xpath_network_heading} 102 103 104Verify 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 108 109 Redfish Purge Event Log 110 Click Element ${xpath_refresh_button} 111 Generate Test Error Log 112 Click Element ${xpath_refresh_button} 113 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30 114 ${log_count}= Get Text ${xpath_critical_logs_count} 115 Should Be True '${log_count}' == '${1}' 116 117 118Verify 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} 130 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30 131 132 ${log_count}= Get Text ${xpath_warning_logs_count} 133 Should Be Equal As Integers ${log_count} 1 134 135 136Verify View More Event Logs Button 137 [Documentation] Verify view more event log button in overview page. 138 [Tags] Verify_View_More_Event_Logs_Button 139 140 Generate Test Error Log 141 Page Should Contain Element ${xpath_event_logs_view_more_button} timeout=30 142 Click Element ${xpath_event_logs_view_more_button} 143 Wait Until Page Contains Element ${xpath_event_logs_heading} timeout=30 144 145 146Verify 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 149 150 Click Element ${xpath_launch_host_console} 151 Wait Until Page Contains Element ${xpath_host_console_heading} 152 153 154Verify 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 158 # Turn Off the server LED via Redfish and refresh GUI. 159 Set IndicatorLED State Off 160 Refresh GUI 161 162 # Turn ON the LED via GUI. 163 Click Element ${xpath_led_button} 164 165 # Cross check that server LED ON state via Redfish. 166 Verify Identify LED State Via Redfish Lit 167 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 173 # Turn On the server LED via Redfish and refresh GUI. 174 Set IndicatorLED State Lit 175 Refresh GUI 176 177 # Turn OFF the LED via GUI. 178 Click Element At Coordinates ${xpath_led_button} 0 0 179 180 # Cross check that server LED off state via Redfish. 181 Verify Identify LED State Via Redfish Off 182 183 184Verify 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 188 ${date_time}= Redfish.Get Attribute ${REDFISH_BASE_URI}Managers/${MANAGER_ID} DateTime 189 ${converted_date}= Convert Date ${date_time} result_format=%Y-%m-%d 190 191 Page Should Contain ${converted_date} 192 193 194Verify 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 203Verify 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 207 Wait Until Page Contains Element ${xpath_dumps_view_more_button} timeout=30 208 Click Element ${xpath_dumps_view_more_button} 209 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 216 Wait Until Page Contains Element ${xpath_server_information_view_more_button} timeout=30 217 Click Element ${xpath_server_information_view_more_button} 218 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. 232 [Tags] Verify_View_More_Button_Under_Network_Information_Section 233 234 Wait Until Page Contains Element ${xpath_network_information_view_more_button} timeout=30 235 Click Element ${xpath_network_information_view_more_button} 236 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. 241 [Tags] Verify_View_More_Button_Under_Power_Information_Section 242 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 265 266Verify 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. 315 [Tags] Verify_Text_Under_Inventory_And_LEDs_Section 316 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 327*** 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} 334 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30 335 336 337Verify 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 343 ${led_state}= Redfish.Get Attribute /redfish/v1/Systems/${SYSTEM_ID} IndicatorLED 344 Should Be True '${led_state}' == '${expected_state}' 345 346 347Set IndicatorLED State 348 [Documentation] Perform redfish PATCH operation. 349 [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 354 355 Redfish.Patch /redfish/v1/Systems/${SYSTEM_ID} body={"IndicatorLED": "${led_state}"} 356 ... valid_status_codes=${expect_resp_code} 357 358