| *** Settings *** |
| |
| Documentation Test Open BMC GUI server health under GUI Header. |
| |
| Resource ../../lib/resource.robot |
| Resource ../../../lib/boot_utils.robot |
| Resource ../../../lib/utils.robot |
| Resource ../../../lib/openbmc_ffdc.robot |
| Resource ../../../lib/state_manager.robot |
| Resource ../../../lib/openbmc_ffdc_methods.robot |
| Resource ../../../lib/dump_utils.robot |
| Resource ../../../lib/logging_utils.robot |
| Library ../../../lib/gen_robot_keyword.py |
| |
| Test Setup Test Setup Execution |
| Test Teardown Test Teardown Execution |
| |
| |
| *** Test Cases *** |
| |
| Verify Event Log Text Appears By Clicking Server Health |
| [Documentation] Check that "Event Log" text appears by clicking server |
| ... health in GUI header. |
| [Tags] Verify_Event_Log_Text_Appears_By_Clicking_Server_Health |
| |
| Wait Until Page Contains Element event-log |
| Page should contain Event log |
| |
| |
| Verify Filters By Severity Elements Appears |
| [Documentation] Check that the "event log" filters appears by clicking |
| ... server health in GUI header. |
| [Tags] Verify_Filters_By_Severity_Elements_Appears |
| |
| # Types of event severity: All, High, Medium, Low. |
| Page Should Contain Element ${xpath_event_severity_all} limit=1 |
| Page Should Contain Element ${xpath_event_severity_high} limit=1 |
| Page Should Contain Element ${xpath_event_severity_medium} limit=1 |
| Page Should Contain Element ${xpath_event_severity_low} limit=1 |
| |
| |
| Verify Drop Down Button User Timezone Appears |
| [Documentation] Check that the "drop down" button of user timezone appears |
| ... by clicking server health in GUI header. |
| [Tags] Verify_Drop_Down_Button_User_Timezone_Appears |
| |
| Page Should Contain Button ${xpath_drop_down_timezone_edt} |
| # Ensure that page is not in refreshing state. |
| # It helps to click the drop down element. |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Click Element //*[@class='dropdown__button'] |
| Page Should Contain Button ${xpath_drop_down_timezone_utc} |
| |
| |
| Verify Content Search Element Appears |
| [Documentation] Check that the "event search element is available with |
| ... filter" button appears. |
| [Tags] Verify_Content_Search_Element_Appears |
| |
| Page Should Contain Element content__search-input limit=1 |
| # Ensure that page is not in refreshing state. |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Page Should Contain Button content__search-submit |
| |
| |
| Verify Filter By Date Element Appears |
| [Documentation] Check that the "filter by date" elements are available and |
| ... visible. |
| [Tags] Verify_Filter_By_Date_Element_Appears |
| |
| Wait Until Element Is Visible event-filter-start-date |
| Page Should Contain Element event-filter-start-date limit=1 |
| Page Should Contain Element event-filter-end-date limit=1 |
| |
| |
| Verify Filter By Event Status Element Appears |
| [Documentation] Check that the "filter by event status" element appears. |
| [Tags] Verify_Filter_By_Event_Status_Element_Appears |
| |
| # Ensure that page is not in refreshing state. |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Wait Until Element is Visible //*[@class='dropdown__wrapper'] |
| Click Element //*[@class='dropdown__wrapper'] |
| Page Should Contain Element ${xpath_event_filter_all} limit=2 |
| Page Should Contain Element ${xpath_event_filter_resolved} limit=1 |
| Page Should Contain Element ${xpath_event_filter_unresolved} limit=1 |
| |
| |
| Verify Event Action Bar Element Appears |
| [Documentation] Check that "event action bar" element appears. |
| [Tags] Verify_Event_Action_Bar_Element_Appears |
| |
| # Ensure that page is not in refreshing state. |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Page Should Contain Element ${xpath_event_action_bars} limit=1 |
| Page Should Contain Element ${xpath_select_all_events} |
| |
| |
| Verify Click Events Check Box |
| [Documentation] Check that "event check box" element appears and on click |
| ... should be able to see elements like "Delete" button and "Export" |
| ... element. |
| [Tags] Verify_Click_Events_Check_Box |
| |
| Create Test Error Log |
| Click Element ${xpath_select_refresh_button} |
| # Ensure that page is not in refreshing state. |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Click Element ${xpath_select_all_events} |
| Page Should Contain Button ${xpath_event_action_delete} limit=1 |
| Page Should Contain Element ${xpath_event_action_export} limit=1 |
| |
| |
| Verify Number of Events Appears |
| [Documentation] Check that "number of events" element appears and value is |
| ... visible. |
| [Tags] Verify_Number_of_Events_Appears |
| |
| # Ensure that page is not in refreshing state. |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Page Should Contain Element ${xpath_number_of_events} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Log To Console \n Number of Events:${number_of_events} |
| |
| |
| Select All Error Logs And Mark As Resolved |
| [Documentation] Select all error logs and mark them as resolved. |
| [Tags] Select_All_Error_Logs_And_Mark_As_Resolved |
| |
| Create Test Error Log |
| Create Test Error Log |
| Click Element ${xpath_select_refresh_button} |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Page Should Contain Element ${xpath_number_of_events} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Click Element ${xpath_select_all_events} |
| Run Keyword If ${number_of_events} > 0 |
| ... Click Element ${xpath_mark_as_resolved} |
| Element Should Be Disabled ${xpath_mark_as_resolved} |
| |
| |
| Select All Error Logs And Click Export |
| [Documentation] Select all error logs and click export element. |
| [Tags] Select_All_Error_Logs_And_Click_Export |
| |
| Create Test Error Log |
| Create Test Error Log |
| Click Element ${xpath_select_refresh_button} |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Page Should Contain Element ${xpath_number_of_events} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Click Element ${xpath_select_all_events} |
| Page Should Contain Element ${xpath_events_export} |
| Run Keyword If ${number_of_events} > 0 |
| ... Click Element ${xpath_events_export} |
| |
| |
| Select All Error Logs And Delete |
| [Documentation] Select all error logs and delete them. |
| [Tags] Select_All_Error_Logs_And_Delete |
| |
| Create Test Error Log |
| Create Test Error Log |
| Click Element ${xpath_select_refresh_button} |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Page Should Contain Element ${xpath_number_of_events} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Run Keyword If ${number_of_events} > 0 |
| ... Common Event Log Click Element ${xpath_individual_event_delete} |
| ... ${xpath_yes_button} ${xpath_select_all_events} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Should Be Equal ${number_of_events} 0 |
| |
| |
| Select Single Error Log And Delete |
| [Documentation] Select single error log and delete it. |
| [Tags] Select_Single_Error_Log_And_Delete |
| |
| Create Test Error Log |
| # Refresh the GUI to get the latest update. |
| Click Element ${xpath_select_refresh_button} |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Page Should Contain Element ${xpath_number_of_events} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Run Keyword If ${number_of_events} > 0 |
| ... Common Event Log Click Element ${xpath_individual_event_delete} |
| ... ${xpath_yes_button} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Should Be Equal ${number_of_events} 0 |
| ... msg=Failed to delete single error log entry. |
| |
| |
| Select Multiple Error Logs And Delete |
| [Documentation] Select multiple error logs and delete them. |
| [Tags] Select_Multiple_Error_Logs_And_Delete |
| |
| Create Test Error Log |
| Create Test Error Log |
| # Refresh the GUI to get the latest update. |
| Click Element ${xpath_select_refresh_button} |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Page Should Contain Element ${xpath_number_of_events} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Run Keyword If ${number_of_events} > 0 |
| ... Double Event Log Click Element ${xpath_individual_event_delete} |
| ... ${xpath_yes_button} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Should Be Equal ${number_of_events} 0 |
| ... msg=Failed to delete multiple error log entries. |
| |
| |
| Select Single Error Log And Mark As Resolved |
| [Documentation] Select single error log and mark as resolved. |
| [Tags] Select_Single_Error_Log_And_Mark_As_Resolved |
| |
| Create Test Error Log |
| # Refresh the GUI to get the latest update. |
| Click Element ${xpath_select_refresh_button} |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Page Should Contain Element ${xpath_number_of_events} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Run Keyword If ${number_of_events} > 0 |
| ... Common Event Log Click Element ${xpath_individual_event_resolved} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Should Be Equal ${number_of_events} 1 |
| ... msg=Failed to mark single error log entry as resolved. |
| |
| |
| Select Multiple Error Logs And Mark As Resolved |
| [Documentation] Select multiple error logs and mark as resolved. |
| [Tags] Select_Multiple_Error_Logs_And_Mark_As_Resolved |
| |
| Create Test Error Log |
| Create Test Error Log |
| # Refresh the GUI to get the latest update. |
| Click Element ${xpath_select_refresh_button} |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Page Should Contain Element ${xpath_number_of_events} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Run Keyword If ${number_of_events} > 0 |
| ... Double Event Log Click Element ${xpath_individual_event_resolved} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Should Be Equal ${number_of_events} 2 |
| ... msg=Failed to mark multiple error log entries as resolved. |
| |
| |
| Select Single Error Log And Export |
| [Documentation] Select single error log and export. |
| [Tags] Select_Single_Error_Log_And_Export |
| |
| Create Test Error Log |
| # Refresh the GUI to get the latest update. |
| Click Element ${xpath_select_refresh_button} |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Page Should Contain Element ${xpath_number_of_events} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Run Keyword If ${number_of_events} > 0 |
| ... Common Event Log Click Element ${xpath_individual_event_export} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Should Be Equal ${number_of_events} 1 |
| ... msg=Failed to export single error log entry. |
| |
| |
| Select Multiple Error Log And Export |
| [Documentation] Select multiple error log and export. |
| [Tags] Select_Multiple_Error_Log_And_Export |
| |
| Create Test Error Log |
| Create Test Error Log |
| # Refresh the GUI to get the latest update. |
| Click Element ${xpath_select_refresh_button} |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Page Should Contain Element ${xpath_number_of_events} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Run Keyword If ${number_of_events} > 0 |
| ... Double Event Log Click Element ${xpath_individual_event_export} |
| ${number_of_events}= Get Text ${xpath_number_of_events} |
| Should Be Equal ${number_of_events} 2 |
| ... msg=Failed to export multiple error log entries. |
| |
| *** Keywords *** |
| |
| Common Event Log Click Element |
| [Documentation] Keep common click elements associated with event log. |
| [Arguments] ${action_element} ${action_click_confirmation}=${None} |
| ... ${xpath_event_select}=${xpath_individual_event_select} |
| |
| # Description of argument(s): |
| # action_element xpath value of the element to be actioned |
| # (e.g. "Delete" or "Resolved" or "Export"). |
| # action_click_confirmation Confirmation of action by pressing yes |
| # (e.g. "Yes" or "No"). |
| # xpath_event_select xpath to select event log. |
| |
| Click Element ${xpath_event_select} |
| Page Should Contain Element ${action_element} |
| Click Element ${action_element} |
| Wait Until Page Does Not Contain Element ${xpath_refresh_circle} |
| Run Keyword If "${action_click_confirmation}" != "${None}" |
| ... Click Element ${action_click_confirmation} |
| Click Element ${xpath_select_refresh_button} |
| Run Key Sleep \ 50s |
| |
| Double Event Log Click Element |
| [Documentation] Keep double click elements associated with event logs. |
| [Arguments] ${action_element} ${action_click_confirmation}=${None} |
| |
| # Description of argument(s): |
| # action_element xpath value of the element to be actioned |
| # (e.g. "Delete" or "Resolved" or "Export"). |
| # action_click_confirmation Confirmation of action by pressing yes |
| # (e.g. "Yes" or "No"). |
| |
| Click Element ${xpath_second_event_select} |
| Common Event Log Click Element ${action_element} |
| ... ${action_click_confirmation} |
| |
| Test Setup Execution |
| [Documentation] Do test case setup tasks. |
| |
| ${status}= Run Keyword And Return Status Logging Test Binary Exist |
| Run Keyword If ${status} == ${False} Install Tarball |
| Delete Error Logs And Verify |
| |
| # Launch the GUI and navigate to server health page. |
| Launch Browser And Login OpenBMC GUI |
| Click Element ${xpath_select_server_health} |
| Wait Until Page Contains Event log |
| |
| Test Teardown Execution |
| [Documentation] Do the post test teardown. |
| |
| FFDC On Test Case Fail |
| Delete All Error Logs |
| Close All Connections |
| Close Browser |