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 16 17*** Variables *** 18 19${xpath_overview_page_header} //h1[contains(text(), "Overview")] 20${xpath_server_information_view_more_button} (//*[text()="View more"])[1] 21${xpath_firmware_information_view_more_button} (//*[text()="View more"])[2] 22${xpath_network_information_view_more_button} (//*[text()="View more"])[3] 23${xpath_power_information_view_more_button} (//*[text()="View more"])[4] 24${xpath_event_logs_view_more_button} (//*[text()="View more"])[5] 25${xpath_inventory_and_leds_view_more_button} (//*[text()="View more"])[6] 26${xpath_launch_host_console} //*[@data-test-id='overviewQuickLinks-button-solConsole'] 27${xpath_led_button} //*[@data-test-id='overviewInventory-checkbox-identifyLed'] 28${xpath_dumps_view_more_button} (//*[text()="View more"])[7] 29${xpath_critical_logs_count} //dt[contains(text(),'Critical')]/following-sibling::dd[1] 30${xpath_warning_logs_count} //dt[contains(text(),'Warning')]/following-sibling::dd[1] 31${xpath_asset_tag} //dt[contains(text(),'Asset tag')]/following-sibling::dd[1] 32${xpath_operating_mode} //dt[contains(text(),'Operating mode')]/following-sibling::dd[1] 33${xpath_machine_model} //dt[contains(text(),'Model')]/following-sibling::dd[1] 34${xpath_serial_number} //dt[contains(text(),'Serial number')]/following-sibling::dd[1] 35 36*** Test Cases *** 37 38Verify Existence Of All Sections In Overview Page 39 [Documentation] Verify existence of all sections in Overview page. 40 [Tags] Verify_Existence_Of_All_Sections_In_Overview_Page 41 42 Page Should Contain BMC date and time 43 Page Should Contain Firmware information 44 Page Should Contain Server information 45 Wait Until Page Contains Network information timeout=10 46 Page Should Contain Power information 47 Page Should Contain Event logs 48 Page Should Contain Inventory and LEDs 49 Page Should Contain Dumps 50 51 52Verify Network Information In Overview Page 53 [Documentation] Verify values under network information section. 54 [Tags] Verify_Network_Information_In_Overview_Page 55 56 ${hostname}= Get BMC Hostname 57 Page Should Contain ${hostname} 58 59 # Get all IP addresses and prefix lengths on system. 60 61 ${resp}= Redfish.Get Attribute /redfish/v1/Managers/${MANAGER_ID}/EthernetInterfaces/eth0 IPv4StaticAddresses 62 ${ip_addr}= Set Variable ${resp[0]['Address']} 63 Page Should Contain ${ip_addr} 64 65 66Verify Server Information Section 67 [Documentation] Verify values under server information section in overview page. 68 [Tags] Verify_Server_Information_Section 69 70 # Model. 71 ${redfish_machine_model}= Redfish.Get Attribute ${SYSTEM_BASE_URI} Model 72 Element Should Contain ${xpath_machine_model} ${redfish_machine_model} 73 74 # Serial Number. 75 ${redfish_serial_number}= Redfish.Get Attribute ${SYSTEM_BASE_URI} SerialNumber 76 Element Should Contain ${xpath_serial_number} ${redfish_serial_number} 77 78 # Asset Tag. 79 ${redfish_asset_tag}= Redfish.Get Attribute ${SYSTEM_BASE_URI} AssetTag 80 Element Should Contain ${xpath_asset_tag} ${redfish_asset_tag} 81 82 # Operating mode. 83 ${redfish_operating_mode}= Redfish.Get Attribute ${BIOS_ATTR_URI} Attributes 84 Element Should Contain ${xpath_operating_mode} ${redfish_operating_mode['pvm_system_operating_mode']} 85 86 87Verify BMC Information Section 88 [Documentation] Verify BMC information section in overview page. 89 [Tags] Verify_BMC_Information_Section 90 91 ${firmware_version}= Redfish Get BMC Version 92 Page Should Contain ${firmware_version} 93 94 95Verify Edit Network Setting Button 96 [Documentation] Verify navigation to network setting page after clicking the button in overview page. 97 [Tags] Verify_Edit_Network_Setting_Button 98 99 Click Element ${xpath_network_information_view_more_button} 100 Wait Until Page Contains Element ${xpath_network_heading} 101 102 103Verify Event Under Critical Event Logs Section 104 [Documentation] Verify event under critical event logs section in case of any event. 105 [Tags] Verify_Event_Under_Critical_Event_Logs_Section 106 [Teardown] Redfish Purge Event Log 107 108 Redfish Purge Event Log 109 Click Element ${xpath_refresh_button} 110 Generate Test Error Log 111 Click Element ${xpath_refresh_button} 112 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30 113 ${log_count}= Get Text ${xpath_critical_logs_count} 114 Should Be True '${log_count}' == '${1}' 115 116 117Verify Event Under Warning Event Logs Section 118 [Documentation] Verify event under warning event logs section in case of any event. 119 [Tags] Verify_Event_Under_Warning_Event_Logs_Section 120 [Teardown] Redfish Purge Event Log 121 122 Redfish Purge Event Log 123 Click Element ${xpath_refresh_button} 124 125 # Generate a predictable error for testing purpose. 126 BMC Execute Command ${CMD_PREDICTIVE_ERROR} 127 128 Click Element ${xpath_refresh_button} 129 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30 130 131 ${log_count}= Get Text ${xpath_warning_logs_count} 132 Should Be Equal As Integers ${log_count} 1 133 134 135Verify View More Event Logs Button 136 [Documentation] Verify view more event log button in overview page. 137 [Tags] Verify_View_More_Event_Logs_Button 138 139 Generate Test Error Log 140 Page Should Contain Element ${xpath_event_logs_view_more_button} timeout=30 141 Click Element ${xpath_event_logs_view_more_button} 142 Wait Until Page Contains Element ${xpath_event_logs_heading} timeout=30 143 144 145Verify Host Console Button In Overview Page 146 [Documentation] Click host console button and verify page navigation to host console page. 147 [Tags] Verify_Host_Console_Button_In_Overview_Page 148 149 Click Element ${xpath_launch_host_console} 150 Wait Until Page Contains Element ${xpath_host_console_heading} 151 152 153Verify Server LED Turn On 154 [Documentation] Turn on server LED via GUI and verify its status via Redfish. 155 [Tags] Verify_Server_LED_Turn_On 156 157 # Turn Off the server LED via Redfish and refresh GUI. 158 Set IndicatorLED State Off 159 Refresh GUI 160 161 # Turn ON the LED via GUI. 162 Click Element ${xpath_led_button} 163 164 # Cross check that server LED ON state via Redfish. 165 Verify Identify LED State Via Redfish Lit 166 167 168Verify Server LED Turn Off 169 [Documentation] Turn off server LED via GUI and verify its status via Redfish. 170 [Tags] Verify_Server_LED_Turn_Off 171 172 # Turn On the server LED via Redfish and refresh GUI. 173 Set IndicatorLED State Lit 174 Refresh GUI 175 176 # Turn OFF the LED via GUI. 177 Click Element At Coordinates ${xpath_led_button} 0 0 178 179 # Cross check that server LED off state via Redfish. 180 Verify Identify LED State Via Redfish Off 181 182 183Verify BMC Time In Overview Page 184 [Documentation] Verify that BMC date from GUI matches with BMC time via Redfish. 185 [Tags] Verify_BMC_Time_In_Overview_Page 186 187 ${date_time}= Redfish.Get Attribute ${REDFISH_BASE_URI}Managers/${MANAGER_ID} DateTime 188 ${converted_date}= Convert Date ${date_time} result_format=%Y-%m-%d 189 190 Page Should Contain ${converted_date} 191 192 193Verify BMC Information At Host Power Off State 194 [Documentation] Verify that BMC information is displayed at host power off state. 195 [Tags] Verify_BMC_Information_At_Host_Power_Off_State 196 197 Redfish Power Off stack_mode=skip 198 ${firmware_version}= Redfish Get BMC Version 199 Page Should Contain ${firmware_version} 200 201 202Verify View More Button For Dumps 203 [Documentation] Verify view more button for dumps button in overview page. 204 [Tags] Verify_View_More_Button_For_Dumps 205 206 Wait Until Page Contains Element ${xpath_dumps_view_more_button} timeout=30 207 Click Element ${xpath_dumps_view_more_button} 208 Wait Until Page Contains Element ${xpath_dumps_header} timeout=30 209 210 211Verify View More Button Under Server Information Section 212 [Documentation] Verify view more button under server information section in overview page. 213 [Tags] Verify_View_More_Button_Under_Server_Information_Section 214 215 Wait Until Page Contains Element ${xpath_server_information_view_more_button} timeout=30 216 Click Element ${xpath_server_information_view_more_button} 217 Wait Until Page Contains Element ${xpath_inventory_and_leds_heading} timeout=30 218 219 220Verify View More Button Under Firmware Information Section 221 [Documentation] Verify view more button under firmware information section in overview page. 222 [Tags] Verify_View_More_Button_Under_Firmware_Information_Section 223 224 Wait Until Page Contains Element ${xpath_firmware_information_view_more_button} timeout=30 225 Click Element ${xpath_firmware_information_view_more_button} 226 Wait Until Page Contains Element ${xpath_firmware_heading} timeout=30 227 228 229Verify View More Button Under Network Information Section 230 [Documentation] Verify view more button under network information section in overview page. 231 [Tags] Verify_View_More_Button_Under_Network_Information_Section 232 233 Wait Until Page Contains Element ${xpath_network_information_view_more_button} timeout=30 234 Click Element ${xpath_network_information_view_more_button} 235 Wait Until Page Contains Element ${xpath_network_heading} timeout=30 236 237 238Verify View More Button Under Power Information Section 239 [Documentation] Verify view more button under power information section in overview page. 240 [Tags] Verify_View_More_Button_Under_Power_Information_Section 241 242 Wait Until Page Contains Element ${xpath_power_information_view_more_button} timeout=30 243 Click Element ${xpath_power_information_view_more_button} 244 Wait Until Page Contains Element ${xpath_power_heading} timeout=30 245 246 247Verify View More Button Under Event Logs Section 248 [Documentation] Verify view more button under event logs section in overview page. 249 [Tags] Verify_View_More_Button_Under_Event_Logs_Section 250 251 Wait Until Page Contains Element ${xpath_event_logs_view_more_button} timeout=30 252 Click Element ${xpath_event_logs_view_more_button} 253 Wait Until Page Contains Element ${xpath_event_logs_heading} timeout=30 254 255 256Verify View More Button Under Inventory And LEDs Section 257 [Documentation] Verify view more button under inventory and leds section in overview page. 258 [Tags] Verify_View_More_Button_Under_Inventory_And_LEDs_Section 259 260 Wait Until Page Contains Element ${xpath_inventory_and_leds_view_more_button} timeout=30 261 Click Element ${xpath_inventory_and_leds_view_more_button} 262 Wait Until Page Contains Element ${xpath_inventory_and_leds_heading} timeout=30 263 264 265Verify Text Under Server Information Section 266 [Documentation] Verify text under server information section in overview page. 267 [Tags] Verify_Text_Under_Server_Information_Section 268 269 Page Should Contain Model 270 Page Should Contain Operating mode 271 Page Should Contain Serial number 272 Page Should Contain Service login 273 Page Should Contain Asset tag 274 275 276Verify Text Under Firmware Information Section 277 [Documentation] Verify text under firmware information section in overview page. 278 [Tags] Verify_Text_Under_Firmware_Information_Section 279 280 Page Should Contain Running 281 Page Should Contain Backup 282 Page Should Contain Access key expiration 283 284 285Verify Text Under Network Information Section 286 [Documentation] Verify text under network information section in overview page. 287 [Tags] Verify_Text_Under_Network_Information_Section 288 289 Page Should Contain Hostname 290 Page Should Contain IPv4 291 Page Should Contain DHCPv4 292 293 294Verify Text Under Power Information Section 295 [Documentation] Verify text under power information section in overview page. 296 [Tags] Verify_Text_Under_Power_Information_Section 297 298 Page Should Contain Power consumption 299 Page Should Contain Idle power saver 300 Page Should Contain Power cap 301 Page Should Contain Power mode 302 303 304Verify Text Under Event Logs Section 305 [Documentation] Verify text under event logs section in overview page. 306 [Tags] Verify_Text_Under_Event_Logs_Section 307 308 Page Should Contain Critical 309 Page Should Contain Warning 310 311 312Verify Text Under Inventory And LEDs Section 313 [Documentation] Verify text under inventory and leds section in overview page. 314 [Tags] Verify_Text_Under_Inventory_And_LEDs_Section 315 316 Page Should Contain System identify LED 317 318 319Verify Text Under Dumps Section 320 [Documentation] Verify text under Dumps section in overview page. 321 [Tags] Verify_Text_Under_Dumps_Section 322 323 Page Should Contain Total 324 325 326*** Keywords *** 327 328Test Setup Execution 329 [Documentation] Do test case setup tasks. 330 331 Click Element ${xpath_overview_menu} 332 Wait Until Page Contains Element ${xpath_overview_page_header} 333 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30 334 335 336Verify Identify LED State Via Redfish 337 [Documentation] Verify that Redfish identify LED system with given state. 338 [Arguments] ${expected_state} 339 # Description of argument(s): 340 # expected_state Expected value of Identify LED. 341 342 ${led_state}= Redfish.Get Attribute /redfish/v1/Systems/system IndicatorLED 343 Should Be True '${led_state}' == '${expected_state}' 344 345 346Set IndicatorLED State 347 [Documentation] Perform redfish PATCH operation. 348 [Arguments] ${led_state} ${expect_resp_code}=[200, 204] 349 # Description of argument(s): 350 # led_state IndicatorLED state to "off", "Lit" etc. 351 # expect_resp_code Expected HTTPS response code. Default [200, 204] 352 353 354 Redfish.Patch /redfish/v1/Systems/system body={"IndicatorLED": "${led_state}"} 355 ... valid_status_codes=${expect_resp_code} 356 357