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 Launch Browser And Login GUI 13Suite Teardown Close Browser 14Test Setup Test Setup Execution 15 16 17*** Variables *** 18 19${xpath_overview_page_header} //h1[contains(text(), "Overview")] 20${xpath_edit_network_settings_button} (//*[text()="View more"])[3] 21${view_all_event_logs} (//*[text()="View more"])[5] 22${xpath_launch_host_console} //*[@data-test-id='overviewQuickLinks-button-solConsole'] 23${xpath_led_button} //*[@data-test-id='overviewInventory-checkbox-identifyLed'] 24${view_all_Dumps} (//*[text()="View more"])[7] 25 26*** Test Cases *** 27 28Verify Existence Of All Sections In Overview Page 29 [Documentation] Verify existence of all sections in Overview page. 30 [Tags] Verify_Existence_Of_All_Sections_In_Overview_Page 31 32 Page Should Contain BMC date and time 33 Page Should Contain Firmware information 34 Page Should Contain Server information 35 Wait Until Page Contains Network information timeout=10 36 Page Should Contain Power information 37 Page Should Contain Event logs 38 Page Should Contain Inventory and LEDs 39 Page Should Contain Dumps 40 41Verify Network Information In Overview Page 42 [Documentation] Verify values under network information section. 43 [Tags] Verify_Network_Information_In_Overview_Page 44 45 ${hostname}= Get BMC Hostname 46 Page Should Contain ${hostname} 47 48 # Get all IP addresses and prefix lengths on system. 49 50 ${ip_addr_list}= Get BMC IP Info 51 FOR ${ip_address} IN @{ip_addr_list} 52 ${ip}= Fetch From Left ${ip_address} \/ 53 Page Should Contain ${ip} 54 END 55 56 ${macaddr}= Get BMC MAC Address 57 Page Should Contain ${macaddr} 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_page_header} 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_header} 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*** Keywords *** 180 181Test Setup Execution 182 [Documentation] Do test case setup tasks. 183 184 Click Element ${xpath_overview_menu} 185 Wait Until Page Contains Element ${xpath_overview_page_header} 186 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30 187 188Verify Identify LED State Via Redfish 189 [Documentation] Verify that Redfish identify LED system with given state. 190 [Arguments] ${expected_state} 191 # Description of argument(s): 192 # expected_state Expected value of Identify LED. 193 194 # Python module: get_member_list(resource_path) 195 ${systems}= Redfish_Utils.Get Member List /redfish/v1/Systems 196 FOR ${system} IN @{systems} 197 ${led_value}= Redfish.Get Attribute ${system} IndicatorLED 198 Should Be True '${led_value}' == '${expected_state}' 199 END 200 201 202Set IndicatorLED State 203 [Documentation] Perform redfish PATCH operation. 204 [Arguments] ${led_state} ${expect_resp_code}=[200, 204] 205 # Description of argument(s): 206 # led_state IndicatorLED state to "off", "Lit" etc. 207 # expect_resp_code Expected HTTPS response code. Default [200, 204] 208 209 # Python module: get_member_list(resource_path) 210 ${systems}= Redfish_Utils.Get Member List /redfish/v1/Systems 211 FOR ${system} IN @{systems} 212 Redfish.Patch ${system} body={"IndicatorLED":${led_state}} valid_status_codes=${expect_resp_code} 213 END 214