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${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_network_information_view_more_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 More Event Logs Button 104 [Documentation] Verify view more event log button in overview page. 105 [Tags] Verify_View_More_Event_Logs_Button 106 107 Generate Test Error Log 108 Page Should Contain Element ${xpath_event_logs_view_more_button} timeout=30 109 Click Element ${xpath_event_logs_view_more_button} 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 Refresh GUI 128 129 # Turn ON the LED via GUI. 130 Click Element ${xpath_led_button} 131 132 # Cross check that server LED ON state via Redfish. 133 Verify Identify LED State Via Redfish Lit 134 135 136Verify Server LED Turn Off 137 [Documentation] Turn off server LED via GUI and verify its status via Redfish. 138 [Tags] Verify_Server_LED_Turn_Off 139 140 # Turn On the server LED via Redfish and refresh GUI. 141 Set IndicatorLED State Lit 142 Refresh GUI 143 144 # Turn OFF the LED via GUI. 145 Click Element At Coordinates ${xpath_led_button} 0 0 146 147 # Cross check that server LED off state via Redfish. 148 Verify Identify LED State Via Redfish Off 149 150 151Verify BMC Time In Overview Page 152 [Documentation] Verify that BMC date from GUI matches with BMC time via Redfish. 153 [Tags] Verify_BMC_Time_In_Overview_Page 154 155 ${date_time}= Redfish.Get Attribute ${REDFISH_BASE_URI}Managers/bmc DateTime 156 ${converted_date}= Convert Date ${date_time} result_format=%Y-%m-%d 157 158 Page Should Contain ${converted_date} 159 160 161Verify BMC Information At Host Power Off State 162 [Documentation] Verify that BMC information is displayed at host power off state. 163 [Tags] Verify_BMC_Information_At_Host_Power_Off_State 164 165 Redfish Power Off stack_mode=skip 166 ${firmware_version}= Redfish Get BMC Version 167 Page Should Contain ${firmware_version} 168 169 170Verify View More Button For Dumps 171 [Documentation] Verify view more button for dumps button in overview page. 172 [Tags] Verify_View_More_Button_For_Dumps 173 174 Wait Until Page Contains Element ${view_all_Dumps} timeout=30 175 Click Element ${view_all_Dumps} 176 Wait Until Page Contains Element ${xpath_dumps_header} timeout=30 177 178 179Verify View More Button Under Server Information Section 180 [Documentation] Verify view more button under server information section in overview page. 181 [Tags] Verify_View_More_Button_Under_Server_Information_Section 182 183 Wait Until Page Contains Element ${xpath_server_information_view_more_button} timeout=30 184 Click Element ${xpath_server_information_view_more_button} 185 Wait Until Page Contains Element ${xpath_inventory_and_leds_heading} timeout=30 186 187 188Verify View More Button Under Firmware Information Section 189 [Documentation] Verify view more button under firmware information section in overview page. 190 [Tags] Verify_View_More_Button_Under_Firmware_Information_Section 191 192 Wait Until Page Contains Element ${xpath_firmware_information_view_more_button} timeout=30 193 Click Element ${xpath_firmware_information_view_more_button} 194 Wait Until Page Contains Element ${xpath_firmware_heading} timeout=30 195 196 197Verify View More Button Under Network Information Section 198 [Documentation] Verify view more button under network information section in overview page. 199 [Tags] Verify_View_More_Button_Under_Network_Information_Section 200 201 Wait Until Page Contains Element ${xpath_network_information_view_more_button} timeout=30 202 Click Element ${xpath_network_information_view_more_button} 203 Wait Until Page Contains Element ${xpath_network_heading} timeout=30 204 205 206Verify View More Button Under Power Information Section 207 [Documentation] Verify view more button under power information section in overview page. 208 [Tags] Verify_View_More_Button_Under_Power_Information_Section 209 210 Wait Until Page Contains Element ${xpath_power_information_view_more_button} timeout=30 211 Click Element ${xpath_power_information_view_more_button} 212 Wait Until Page Contains Element ${xpath_power_heading} timeout=30 213 214 215Verify View More Button Under Event Logs Section 216 [Documentation] Verify view more button under event logs section in overview page. 217 [Tags] Verify_View_More_Button_Under_Event_Logs_Section 218 219 Wait Until Page Contains Element ${xpath_event_logs_view_more_button} timeout=30 220 Click Element ${xpath_event_logs_view_more_button} 221 Wait Until Page Contains Element ${xpath_event_logs_heading} timeout=30 222 223 224Verify View More Button Under Inventory And LEDs Section 225 [Documentation] Verify view more button under inventory and leds section in overview page. 226 [Tags] Verify_View_More_Button_Under_Inventory_And_LEDs_Section 227 228 Wait Until Page Contains Element ${xpath_inventory_and_leds_view_more_button} timeout=30 229 Click Element ${xpath_inventory_and_leds_view_more_button} 230 Wait Until Page Contains Element ${xpath_inventory_and_leds_heading} timeout=30 231 232 233*** Keywords *** 234 235Test Setup Execution 236 [Documentation] Do test case setup tasks. 237 238 Click Element ${xpath_overview_menu} 239 Wait Until Page Contains Element ${xpath_overview_page_header} 240 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30 241 242 243Verify Identify LED State Via Redfish 244 [Documentation] Verify that Redfish identify LED system with given state. 245 [Arguments] ${expected_state} 246 # Description of argument(s): 247 # expected_state Expected value of Identify LED. 248 249 ${led_state}= Redfish.Get Attribute /redfish/v1/Systems/system IndicatorLED 250 Should Be True '${led_state}' == '${expected_state}' 251 252 253Set IndicatorLED State 254 [Documentation] Perform redfish PATCH operation. 255 [Arguments] ${led_state} ${expect_resp_code}=[200, 204] 256 # Description of argument(s): 257 # led_state IndicatorLED state to "off", "Lit" etc. 258 # expect_resp_code Expected HTTPS response code. Default [200, 204] 259 260 261 Redfish.Patch /redfish/v1/Systems/system body={"IndicatorLED": "${led_state}"} 262 ... valid_status_codes=${expect_resp_code} 263 264