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_edit_network_settings_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${view_all_Dumps} (//*[text()="View more"])[7] 29 30*** Test Cases *** 31 32Verify Existence Of All Sections In Overview Page 33 [Documentation] Verify existence of all sections in Overview page. 34 [Tags] Verify_Existence_Of_All_Sections_In_Overview_Page 35 36 Page Should Contain BMC date and time 37 Page Should Contain Firmware information 38 Page Should Contain Server information 39 Wait Until Page Contains Network information timeout=10 40 Page Should Contain Power information 41 Page Should Contain Event logs 42 Page Should Contain Inventory and LEDs 43 Page Should Contain Dumps 44 45 46Verify Network Information In Overview Page 47 [Documentation] Verify values under network information section. 48 [Tags] Verify_Network_Information_In_Overview_Page 49 50 ${hostname}= Get BMC Hostname 51 Page Should Contain ${hostname} 52 53 # Get all IP addresses and prefix lengths on system. 54 55 ${resp}= Redfish.Get Attribute /redfish/v1/Managers/bmc/EthernetInterfaces/eth0 IPv4StaticAddresses 56 ${ip_addr}= Set Variable ${resp[0]['Address']} 57 Page Should Contain ${ip_addr} 58 59 60Verify Server Information Section 61 [Documentation] Verify values under server information section in overview page. 62 [Tags] Verify_Server_Information_Section 63 64 ${redfish_machine_model}= Redfish.Get Attribute /redfish/v1/Systems/system/ Model 65 Page Should Contain ${redfish_machine_model} 66 67 ${redfish_serial_number}= Redfish.Get Attribute /redfish/v1/Systems/system/ SerialNumber 68 Page Should Contain ${redfish_serial_number} 69 70 ${redfish_motherboard_manufacturer}= Redfish.Get Attribute 71 ... /redfish/v1/Systems/system/ Manufacturer 72 73 Page Should Contain ${redfish_motherboard_manufacturer} 74 75 76Verify BMC Information Section 77 [Documentation] Verify BMC information section in overview page. 78 [Tags] Verify_BMC_Information_Section 79 80 ${firmware_version}= Redfish Get BMC Version 81 Page Should Contain ${firmware_version} 82 83 84Verify Edit Network Setting Button 85 [Documentation] Verify navigation to network setting page after clicking the button in overview page. 86 [Tags] Verify_Edit_Network_Setting_Button 87 88 Click Element ${xpath_edit_network_settings_button} 89 Wait Until Page Contains Element ${xpath_network_heading} 90 91 92Verify Event Under High Priority Events Section 93 [Documentation] Verify event under high priority events section in case of any event. 94 [Tags] Verify_Event_Under_High_Priority_Events_Section 95 96 Redfish Purge Event Log 97 Click Element ${xpath_refresh_button} 98 Generate Test Error Log 99 Click Element ${xpath_refresh_button} 100 Wait Until Page Contains xyz.openbmc_project.Common.Error.InternalFailure timeout=30s 101 102 103Verify View All Event Logs Button 104 [Documentation] Verify view all event log button in overview page. 105 [Tags] Verify_View_All_Event_Logs_Button 106 107 Generate Test Error Log 108 Page Should Contain Element ${view_all_event_logs} timeout=30 109 Click Element ${view_all_event_logs} 110 Wait Until Page Contains Element ${xpath_event_logs_heading} timeout=30 111 112 113Verify Host Console Button In Overview Page 114 [Documentation] Click host console button and verify page navigation to host console page. 115 [Tags] Verify_Host_Console_Button_In_Overview_Page 116 117 Click Element ${xpath_launch_host_console} 118 Wait Until Page Contains Element ${xpath_host_console_heading} 119 120 121Verify Server LED Turn On 122 [Documentation] Turn on server LED via GUI and verify its status via Redfish. 123 [Tags] Verify_Server_LED_Turn_On 124 125 # Turn Off the server LED via Redfish and refresh GUI. 126 Set IndicatorLED State Off 127 128 Refresh GUI 129 130 # Turn ON the LED via GUI. 131 Click Element At Coordinates ${xpath_led_button} 0 0 132 133 # Cross check that server LED ON state via Redfish. 134 Verify Identify LED State Via Redfish Lit 135 136 137Verify Server LED Turn Off 138 [Documentation] Turn off server LED via GUI and verify its status via Redfish. 139 [Tags] Verify_Server_LED_Turn_Off 140 141 # Turn On the server LED via Redfish and refresh GUI. 142 Set IndicatorLED State Lit 143 Refresh GUI 144 145 # Turn OFF the LED via GUI. 146 Click Element At Coordinates ${xpath_led_button} 0 0 147 148 # Cross check that server LED off state via Redfish. 149 Verify Identify LED State Via Redfish Off 150 151 152Verify BMC Time In Overview Page 153 [Documentation] Verify that BMC date from GUI matches with BMC time via Redfish. 154 [Tags] Verify_BMC_Time_In_Overview_Page 155 156 ${date_time}= Redfish.Get Attribute ${REDFISH_BASE_URI}Managers/bmc DateTime 157 ${converted_date}= Convert Date ${date_time} result_format=%Y-%m-%d 158 159 Page Should Contain ${converted_date} 160 161 162Verify BMC Information At Host Power Off State 163 [Documentation] Verify that BMC information is displayed at host power off state. 164 [Tags] Verify_BMC_Information_At_Host_Power_Off_State 165 166 Redfish Power Off stack_mode=skip 167 ${firmware_version}= Redfish Get BMC Version 168 Page Should Contain ${firmware_version} 169 170 171Verify View More Button For Dumps 172 [Documentation] Verify view more button for dumps button in overview page. 173 [Tags] Verify_View_More_Button_For_Dumps 174 175 Wait Until Page Contains Element ${view_all_Dumps} timeout=30 176 Click Element ${view_all_Dumps} 177 Wait Until Page Contains Element ${xpath_dumps_header} timeout=30 178 179 180Verify View More Button Under Server Information Section 181 [Documentation] Verify view more button under server information section in overview page. 182 [Tags] Verify_View_More_Button_Under_Server_Information_Section 183 184 Wait Until Page Contains Element ${xpath_server_information} timeout=30 185 Click Element ${xpath_server_information} 186 Wait Until Page Contains Element ${xpath_inventory_and_leds_heading} timeout=30 187 188 189Verify View More Button Under Firmware Information Section 190 [Documentation] Verify view more button under firmware information section in overview page. 191 [Tags] Verify_View_More_Button_Under_Firmware_Information_Section 192 193 Wait Until Page Contains Element ${xpath_firmware_information_view_more_button} timeout=30 194 Click Element ${xpath_firmware_information_view_more_button} 195 Wait Until Page Contains Element ${xpath_firmware_heading} timeout=30 196 197 198Verify View More Button Under Network Information Section 199 [Documentation] Verify view more button under network information section in overview page. 200 [Tags] Verify_View_More_Button_Under_Network_information_Section 201 202 Wait Until Page Contains Element ${xpath_edit_network_settings_button} timeout=30 203 Click Element ${xpath_edit_network_settings_button} 204 Wait Until Page Contains Element ${xpath_network_heading} timeout=30 205 206 207Verify View More Button Under Power Information Section 208 [Documentation] Verify view more button under power information section in overview page. 209 [Tags] Verify_View_More_Button_Under_Power_information_Section 210 211 Wait Until Page Contains Element ${xpath_power_information_view_more_button} timeout=30 212 Click Element ${xpath_power_information_view_more_button} 213 Wait Until Page Contains Element ${xpath_power_heading} timeout=30 214 215 216Verify View More Button Under Event Logs Section 217 [Documentation] Verify view more button under event logs section in overview page. 218 [Tags] Verify_View_More_Button_Under_Event_Logs_Section 219 220 Wait Until Page Contains Element ${xpath_event_logs_view_more_button} timeout=30 221 Click Element ${xpath_event_logs_view_more_button} 222 Wait Until Page Contains Element ${xpath_event_logs_heading} timeout=30 223 224 225Verify View More Button Under Inventory And LEDs Section 226 [Documentation] Verify view more button under inventory and leds section in overview page. 227 [Tags] Verify_View_More_Button_Under_Inventory_And_LEDs_Section 228 229 Wait Until Page Contains Element ${xpath_inventory_and_leds_view_more_button} timeout=30 230 Click Element ${xpath_inventory_and_leds_view_more_button} 231 Wait Until Page Contains Element ${xpath_inventory_and_leds_heading} timeout=30 232 233 234*** Keywords *** 235 236Test Setup Execution 237 [Documentation] Do test case setup tasks. 238 239 Click Element ${xpath_overview_menu} 240 Wait Until Page Contains Element ${xpath_overview_page_header} 241 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30 242 243 244Verify Identify LED State Via Redfish 245 [Documentation] Verify that Redfish identify LED system with given state. 246 [Arguments] ${expected_state} 247 # Description of argument(s): 248 # expected_state Expected value of Identify LED. 249 250 # Python module: get_member_list(resource_path) 251 ${systems}= Redfish_Utils.Get Member List /redfish/v1/Systems 252 FOR ${system} IN @{systems} 253 ${led_value}= Redfish.Get Attribute ${system} IndicatorLED 254 Should Be True '${led_value}' == '${expected_state}' 255 END 256 257 258Set IndicatorLED State 259 [Documentation] Perform redfish PATCH operation. 260 [Arguments] ${led_state} ${expect_resp_code}=[200, 204] 261 # Description of argument(s): 262 # led_state IndicatorLED state to "off", "Lit" etc. 263 # expect_resp_code Expected HTTPS response code. Default [200, 204] 264 265 # Python module: get_member_list(resource_path) 266 ${systems}= Redfish_Utils.Get Member List /redfish/v1/Systems 267 FOR ${system} IN @{systems} 268 Redfish.Patch ${system} body={"IndicatorLED":${led_state}} valid_status_codes=${expect_resp_code} 269 END 270