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 130 ${log_count}= Get Text ${xpath_warning_logs_count} 131 Should Be Equal As Integers ${log_count} 1 132 133 134Verify View More Event Logs Button 135 [Documentation] Verify view more event log button in overview page. 136 [Tags] Verify_View_More_Event_Logs_Button 137 138 Generate Test Error Log 139 Page Should Contain Element ${xpath_event_logs_view_more_button} timeout=30 140 Click Element ${xpath_event_logs_view_more_button} 141 Wait Until Page Contains Element ${xpath_event_logs_heading} timeout=30 142 143 144Verify Host Console Button In Overview Page 145 [Documentation] Click host console button and verify page navigation to host console page. 146 [Tags] Verify_Host_Console_Button_In_Overview_Page 147 148 Click Element ${xpath_launch_host_console} 149 Wait Until Page Contains Element ${xpath_host_console_heading} 150 151 152Verify Server LED Turn On 153 [Documentation] Turn on server LED via GUI and verify its status via Redfish. 154 [Tags] Verify_Server_LED_Turn_On 155 156 # Turn Off the server LED via Redfish and refresh GUI. 157 Set IndicatorLED State Off 158 Refresh GUI 159 160 # Turn ON the LED via GUI. 161 Click Element ${xpath_led_button} 162 163 # Cross check that server LED ON state via Redfish. 164 Verify Identify LED State Via Redfish Lit 165 166 167Verify Server LED Turn Off 168 [Documentation] Turn off server LED via GUI and verify its status via Redfish. 169 [Tags] Verify_Server_LED_Turn_Off 170 171 # Turn On the server LED via Redfish and refresh GUI. 172 Set IndicatorLED State Lit 173 Refresh GUI 174 175 # Turn OFF the LED via GUI. 176 Click Element At Coordinates ${xpath_led_button} 0 0 177 178 # Cross check that server LED off state via Redfish. 179 Verify Identify LED State Via Redfish Off 180 181 182Verify BMC Time In Overview Page 183 [Documentation] Verify that BMC date from GUI matches with BMC time via Redfish. 184 [Tags] Verify_BMC_Time_In_Overview_Page 185 186 ${date_time}= Redfish.Get Attribute ${REDFISH_BASE_URI}Managers/${MANAGER_ID} DateTime 187 ${converted_date}= Convert Date ${date_time} result_format=%Y-%m-%d 188 189 Page Should Contain ${converted_date} 190 191 192Verify BMC Information At Host Power Off State 193 [Documentation] Verify that BMC information is displayed at host power off state. 194 [Tags] Verify_BMC_Information_At_Host_Power_Off_State 195 196 Redfish Power Off stack_mode=skip 197 ${firmware_version}= Redfish Get BMC Version 198 Page Should Contain ${firmware_version} 199 200 201Verify View More Button For Dumps 202 [Documentation] Verify view more button for dumps button in overview page. 203 [Tags] Verify_View_More_Button_For_Dumps 204 205 Wait Until Page Contains Element ${xpath_dumps_view_more_button} timeout=30 206 Click Element ${xpath_dumps_view_more_button} 207 Wait Until Page Contains Element ${xpath_dumps_header} timeout=30 208 209 210Verify View More Button Under Server Information Section 211 [Documentation] Verify view more button under server information section in overview page. 212 [Tags] Verify_View_More_Button_Under_Server_Information_Section 213 214 Wait Until Page Contains Element ${xpath_server_information_view_more_button} timeout=30 215 Click Element ${xpath_server_information_view_more_button} 216 Wait Until Page Contains Element ${xpath_inventory_and_leds_heading} timeout=30 217 218 219Verify View More Button Under Firmware Information Section 220 [Documentation] Verify view more button under firmware information section in overview page. 221 [Tags] Verify_View_More_Button_Under_Firmware_Information_Section 222 223 Wait Until Page Contains Element ${xpath_firmware_information_view_more_button} timeout=30 224 Click Element ${xpath_firmware_information_view_more_button} 225 Wait Until Page Contains Element ${xpath_firmware_heading} timeout=30 226 227 228Verify View More Button Under Network Information Section 229 [Documentation] Verify view more button under network information section in overview page. 230 [Tags] Verify_View_More_Button_Under_Network_Information_Section 231 232 Wait Until Page Contains Element ${xpath_network_information_view_more_button} timeout=30 233 Click Element ${xpath_network_information_view_more_button} 234 Wait Until Page Contains Element ${xpath_network_heading} timeout=30 235 236 237Verify View More Button Under Power Information Section 238 [Documentation] Verify view more button under power information section in overview page. 239 [Tags] Verify_View_More_Button_Under_Power_Information_Section 240 241 Wait Until Page Contains Element ${xpath_power_information_view_more_button} timeout=30 242 Click Element ${xpath_power_information_view_more_button} 243 Wait Until Page Contains Element ${xpath_power_heading} timeout=30 244 245 246Verify View More Button Under Event Logs Section 247 [Documentation] Verify view more button under event logs section in overview page. 248 [Tags] Verify_View_More_Button_Under_Event_Logs_Section 249 250 Wait Until Page Contains Element ${xpath_event_logs_view_more_button} timeout=30 251 Click Element ${xpath_event_logs_view_more_button} 252 Wait Until Page Contains Element ${xpath_event_logs_heading} timeout=30 253 254 255Verify View More Button Under Inventory And LEDs Section 256 [Documentation] Verify view more button under inventory and leds section in overview page. 257 [Tags] Verify_View_More_Button_Under_Inventory_And_LEDs_Section 258 259 Wait Until Page Contains Element ${xpath_inventory_and_leds_view_more_button} timeout=30 260 Click Element ${xpath_inventory_and_leds_view_more_button} 261 Wait Until Page Contains Element ${xpath_inventory_and_leds_heading} timeout=30 262 263 264Verify Text Under Server Information Section 265 [Documentation] Verify text under server information section in overview page. 266 [Tags] Verify_Text_Under_Server_Information_Section 267 268 Page Should Contain Model 269 Page Should Contain Operating mode 270 Page Should Contain Serial number 271 Page Should Contain Service login 272 Page Should Contain Asset tag 273 274 275Verify Text Under Firmware Information Section 276 [Documentation] Verify text under firmware information section in overview page. 277 [Tags] Verify_Text_Under_Firmware_Information_Section 278 279 Page Should Contain Running 280 Page Should Contain Backup 281 Page Should Contain Access key expiration 282 283 284Verify Text Under Network Information Section 285 [Documentation] Verify text under network information section in overview page. 286 [Tags] Verify_Text_Under_Network_Information_Section 287 288 Page Should Contain Hostname 289 Page Should Contain IPv4 290 Page Should Contain DHCPv4 291 292 293Verify Text Under Power Information Section 294 [Documentation] Verify text under power information section in overview page. 295 [Tags] Verify_Text_Under_Power_Information_Section 296 297 Page Should Contain Power consumption 298 Page Should Contain Idle power saver 299 Page Should Contain Power cap 300 Page Should Contain Power mode 301 302 303Verify Text Under Event Logs Section 304 [Documentation] Verify text under event logs section in overview page. 305 [Tags] Verify_Text_Under_Event_Logs_Section 306 307 Page Should Contain Critical 308 Page Should Contain Warning 309 310 311Verify Text Under Inventory And LEDs Section 312 [Documentation] Verify text under inventory and leds section in overview page. 313 [Tags] Verify_Text_Under_Inventory_And_LEDs_Section 314 315 Page Should Contain System identify LED 316 317 318Verify Text Under Dumps Section 319 [Documentation] Verify text under Dumps section in overview page. 320 [Tags] Verify_Text_Under_Dumps_Section 321 322 Page Should Contain Total 323 324 325*** Keywords *** 326 327Test Setup Execution 328 [Documentation] Do test case setup tasks. 329 330 Click Element ${xpath_overview_menu} 331 Wait Until Page Contains Element ${xpath_overview_page_header} 332 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30 333 334 335Verify Identify LED State Via Redfish 336 [Documentation] Verify that Redfish identify LED system with given state. 337 [Arguments] ${expected_state} 338 # Description of argument(s): 339 # expected_state Expected value of Identify LED. 340 341 ${led_state}= Redfish.Get Attribute /redfish/v1/Systems/system IndicatorLED 342 Should Be True '${led_state}' == '${expected_state}' 343 344 345Set IndicatorLED State 346 [Documentation] Perform redfish PATCH operation. 347 [Arguments] ${led_state} ${expect_resp_code}=[200, 204] 348 # Description of argument(s): 349 # led_state IndicatorLED state to "off", "Lit" etc. 350 # expect_resp_code Expected HTTPS response code. Default [200, 204] 351 352 353 Redfish.Patch /redfish/v1/Systems/system body={"IndicatorLED": "${led_state}"} 354 ... valid_status_codes=${expect_resp_code} 355 356