| *** Settings *** |
| |
| Documentation Test OpenBMC GUI "Server LED" sub-menu of "Server control". |
| |
| Resource ../../lib/gui_resource.robot |
| |
| Suite Setup Launch Browser And Login GUI |
| Suite Teardown Close Browser |
| Test Setup Test Setup Execution |
| |
| |
| *** Variables *** |
| |
| ${xpath_server_led_heading} //h1[text()="Server LED"] |
| ${xpath_led_value} //*[@data-test-id='serverLed-checkbox-switchIndicatorLed']/following-sibling::label/span |
| ${xpath_overview_led_value} //*[@data-test-id='overviewQuickLinks-checkbox-serverLed']/following-sibling::label/span |
| ${xpath_led_toggle} //*[@data-test-id='serverLed-checkbox-switchIndicatorLed'] |
| |
| |
| *** Test Cases *** |
| |
| Verify Navigation To Server LED Page |
| [Documentation] Verify navigation to server LED page. |
| [Tags] Verify_Navigation_To_Server_LED_Page |
| |
| Page Should Contain Element ${xpath_server_led_heading} |
| |
| |
| Verify Existence Of All Sections In Server LED Page |
| [Documentation] Verify existence of all sections in Server LED page. |
| [Tags] Verify_Existence_Of_All_Sections_In_Server_LED_Page |
| |
| Page Should Contain LED light control |
| |
| |
| Verify Server Led Sync With Overview Page LED Status |
| [Documentation] Verify server LED sync with overview page LED status. |
| [Tags] Verify_Server_Led_Sync_With_Overview_Page_LED_Status |
| |
| ${gui_led_value} = Get Text ${xpath_led_value} |
| Click Element ${xpath_overview_menu} |
| ${overview_led_value} = Get Text ${xpath_overview_led_value} |
| |
| Should Be Equal ${gui_led_value} ${overview_led_value} |
| |
| |
| Verify Server LED ON |
| [Documentation] Turn ON the server LED button using GUI and verify it via Redfish. |
| [Tags] Verify_Server_LED_ON |
| |
| # Turn Off the server LED via Redfish. |
| Redfish.Patch /redfish/v1/Systems/system body={"IndicatorLED":"Off"} valid_status_codes=[200, 204] |
| |
| # Turn ON the server LED via GUI. |
| Click Element At Coordinates ${xpath_led_toggle} 0 0 |
| Wait Until Element Contains ${xpath_led_value} On timeout=15 |
| |
| # Verify server LED via Redfish and GUI. |
| Verify Server LED using Redfish and GUI On |
| |
| |
| Verify Server LED OFF |
| [Documentation] Turn OFF the server LED button using GUI and verify it via Redfish. |
| [Tags] Verify_Server_LED_OFF |
| |
| # Turn ON the server LED via Redfish. |
| Redfish.Patch /redfish/v1/Systems/system body={"IndicatorLED":"Lit"} valid_status_codes=[200, 204] |
| |
| # Turn Off the server LED via GUI. |
| Click Element At Coordinates ${xpath_led_toggle} 0 0 |
| Wait Until Element Contains ${xpath_led_value} Off timeout=30 |
| |
| # Verify server LED via Redfish and GUI. |
| Verify Server LED using Redfish and GUI Off |
| |
| |
| *** Keywords *** |
| |
| Test Setup Execution |
| [Documentation] Do test case setup tasks. |
| |
| Click Element ${xpath_control_menu} |
| Click Element ${xpath_server_led_sub_menu} |
| Wait Until Keyword Succeeds 30 sec 10 sec Location Should Contain server-led |
| |
| |
| Verify Server LED using Redfish and GUI |
| [Documentation] Verify LED status using Redfish and GUI. |
| [Arguments] ${expected_led_status} |
| |
| # Description of argument(s): |
| # expected_led_status Expected value of Server LED. |
| |
| ${gui_led_value} = Get Text ${xpath_led_value} |
| ${redfish_led_value}= Redfish.Get Attribute /redfish/v1/Systems/system IndicatorLED |
| |
| ${redfish_led_value}= Set Variable If '${redfish_led_value}' == 'Lit' On |
| Should Be Equal ${gui_led_value} ${expected_led_status} |
| Should Be Equal ${redfish_led_value} ${expected_led_status} |