Base test cases for server health via GUI header.
Resolves openbmc/openbmc-test-automation#1279
Change-Id: I76a2e07ef4d852d06b2ff1be029fb79b38149bf6
Signed-off-by: Sivas SRR <sivas.srr@in.ibm.com>
diff --git a/gui/obmc_gui/data/resource_variables.py b/gui/obmc_gui/data/resource_variables.py
index 27b33a0..7cf529a 100644
--- a/gui/obmc_gui/data/resource_variables.py
+++ b/gui/obmc_gui/data/resource_variables.py
@@ -88,3 +88,19 @@
confirm_msg = "2"
yes = "1"
No = "2"
+
+ # Server health elements locators.
+ xpath_select_server_health = "//*[@id='header__wrapper']/div/div[3]/a[2]"
+ xpath_server_health_text = \
+ "//*[@id='header__wrapper']/div/div[3]/a[2]/span"
+ xpath_select_refresh_button = \
+ "//*[@id='header__wrapper']/div/div[3]/button"
+ xpath_event_severity_all = "//*[@id='event-filter']/div[1]/button[1]"
+ xpath_event_severity_high = "//*[@id='event-filter']/div[1]/button[2]"
+ xpath_event_severity_medium = "//*[@id='event-filter']/div[1]/button[3]"
+ xpath_event_severity_low = "//*[@id='event-filter']/div[1]/button[4]"
+ xpath_drop_down_timezone_edt = \
+ "//*[@id='event-log']/section[1]/div/div/button"
+ xpath_refresh_circle = "/html/body/main/loader/div[1]/svg/circle"
+ xpath_drop_down_timezone_utc = \
+ "//*[@id='event-log']/section[1]/div/div/ul/li[2]/button"
diff --git a/gui/obmc_gui/lib/resource.robot b/gui/obmc_gui/lib/resource.robot
index 70cf5b3..da77d1b 100644
--- a/gui/obmc_gui/lib/resource.robot
+++ b/gui/obmc_gui/lib/resource.robot
@@ -351,3 +351,15 @@
Run Keyword If '${expectedState}' == 'Off'
... Initiate Host PowerOff
+
+Launch Browser And Login OpenBMC GUI
+ [Documentation] Launch browser and log into openbmc GUI.
+
+ Open Browser With URL ${obmc_gui_url}
+ Login OpenBMC GUI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD}
+
+Logout And Close Browser
+ [Documentation] Logout from openbmc application and close the browser.
+
+ Click Element header
+ Close Browser
diff --git a/gui/obmc_gui/test/gui_header/test_obmc_gui_server_health.robot b/gui/obmc_gui/test/gui_header/test_obmc_gui_server_health.robot
new file mode 100644
index 0000000..4023a7e
--- /dev/null
+++ b/gui/obmc_gui/test/gui_header/test_obmc_gui_server_health.robot
@@ -0,0 +1,46 @@
+*** Settings ***
+
+Documentation Test Open BMC GUI server health under GUI Header.
+
+Resource ../../lib/resource.robot
+Resource ../../../../lib/boot_utils.robot
+
+Suite Setup Launch Browser And Login OpenBMC GUI
+Suite Teardown Logout And Close Browser
+Test Setup Click Element ${xpath_select_server_health}
+
+*** 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 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 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}
+