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