OpenBMC GUI Server overview 6 TCs automated

Added:
    1. Verify BMC information Should Display At OBMC Power Off State
    2. Verify POWER information Should Display At OBMC Power Off State
    3. High Priority Events Should Display At OBMC Power Off State
    4. High Priority Events Can Be Operated At OBMC Power Off State
    5. Launching Of Serial Over LAN Console At OBMC Power Off State
    6. Launching Of Serial Over LAN Console At OBMC Power Running State

Resolve openbmc/openbmc-test-automation#1037

Change-Id: Iae38e7fcf626ae6b5e3e1bd8cb1eb6e52384d127
Signed-off-by: Sathyajith M S <sathyajith.ms@in.ibm.com>
diff --git a/gui/obmc_asmi/data/resource_variables.py b/gui/obmc_asmi/data/resource_variables.py
deleted file mode 100644
index 0887e67..0000000
--- a/gui/obmc_asmi/data/resource_variables.py
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/python
-
-r"""
-Contains xpaths and related string constants applicable to all openBMC GUI
-menus.
-"""
-
-
-class resource_variables():
-
-    xpath_textbox_username = "//*[@id='username']"
-    xpath_textbox_password = "//*[@id='password']"
-    xpath_button_login = "//*[@id='login__submit']"
-    xpath_button_logout = "//*[@id='header']/a"
-    xpath_openbmc_url = "http://localhost:8080/#/login"
-    xpath_openbmc_ip = "//*[@id='login__form']/input[1]"
-    openbmc_username = "root"
-    openbmc_password = "0penBmc"
-
-    # Power operation elements needed for power on.
-    header_wrapper = "3"
-    header_wrapper_elt = "3"
-
-    # Power operation elements needed for power operations confirmation.
-    power_operations = "3"
-    warm_boot = "3"
-    cold_boot = "4"
-    shut_down = "5"
-    power_off = "6"
-    confirm_msg = "2"
-    yes = "1"
diff --git a/gui/obmc_asmi/lib/resource.robot b/gui/obmc_asmi/lib/resource.robot
deleted file mode 100644
index 969baac..0000000
--- a/gui/obmc_asmi/lib/resource.robot
+++ /dev/null
@@ -1,157 +0,0 @@
-*** Settings ***
-Documentation  This is a resource file of OpenBMC ASMI It contains the
-...            user-defined keywords which are available to all gui modules
-
-Library      String
-Library      Collections
-Library      DateTime
-Library      XvfbRobot
-Library      OperatingSystem
-Library      Selenium2Library  120  120
-Library      AngularJSLibrary
-Library      SSHLibrary  30 Seconds
-Library      Process
-Library      supporting_libs.py
-Library      ../../../lib/gen_print.py
-Library      ../../../lib/gen_robot_print.py
-Library      ../../../lib/gen_valid.py
-Library      ../../../lib/gen_robot_ssh.py
-Library      ../../../lib/bmc_ssh_utils.py
-Variables    ../data/resource_variables.py
-Resource     ../../../lib/resource.txt
-
-*** Variables ***
-# TO Do: Change the variable once the code finally switches to the OpenBMC.
-${openbmc_gui_url}    http://localhost:8080/#/login
-# Default Browser.
-${default_browser}  chrome
-
-*** Keywords ***
-Launch OpenBMC GUI Browser
-    [Documentation]  Launch the OpenBMC GUI URL on a browser.
-    # By default uses headless mode, otherwise, the GUI browser.
-    ${op_system}=  Get Operating System
-    Run Keyword If  '${op_system}' == 'windows'
-    ...     Launch Browser in Windows Platform
-    ...  ELSE
-    ...     Launch Headless Browser
-
-Get Operating System
-    [Documentation]  Identify platform/OS.
-    ${curdir_lower_case}=  Convert To Lowercase  ${CURDIR}
-    ${windows_platform}=  Run Keyword And Return Status
-    ...  Should Contain  ${curdir_lower_case}  c:\
-    ${op_system}=  Run Keyword If  '${windows_platform}' == 'True'
-    ...     Set Variable  windows
-    ...   ELSE
-    ...     Set Variable  linux
-    [Return]  ${op_system}
-
-Launch Browser in Windows Platform
-    [Documentation]  Open the browse with the URL and login on windows platform.
-    ${BROWSER_ID}=  Open Browser  ${openbmc_gui_url}  ${default_browser}
-    Maximize Browser Window
-    Set Global Variable  ${BROWSER_ID}
-
-Launch Headless Browser
-    [Documentation]  Launch headless browser.
-    Start Virtual Display  1920  1080
-    ${BROWSER_ID}=  Open Browser  ${openbmc_gui_url}
-    Set Global Variable  ${BROWSER_ID}
-    Set Window Size  1920  1080
-
-OpenBMC Test Setup
-    [Documentation]  Verify all the preconditions to be tested.
-    Rprint Timen  ${TEST NAME}:${TESTDOCUMENTATION} ==> [STARTED]
-    Print Dashes  0  100  1  =
-    Login OpenBMC GUI
-
-Login OpenBMC GUI
-    [Documentation]  Perform login to open BMC GUI.
-    [Arguments]  ${username}=${OPENBMC_USERNAME}
-    ...  ${password}=${OPENBMC_PASSWORD}
-    # Description of argument(s):
-    # username      The username.
-    # password      The password.
-
-    Register Keyword To Run On Failure  Reload Page
-    Log  ${openbmc_gui_url}
-    Open Browser With URL  ${openbmc_gui_url}  gc
-    Page Should Contain Button  login__submit
-    Input Text  ${xpath_openbmc_ip}  ${OPENBMC_HOST}
-    Input Text  ${xpath_textbox_username}  ${username}
-    Input Password  ${xpath_textbox_password}  ${password}
-    Click Element  login__submit
-    Wait Until Element Is Enabled  ${xpath_button_logout}
-    Page Should Contain  Server information
-
-LogOut OpenBMC GUI
-    [Documentation]  Log out of OpenBMC GUI.
-    SSHLibrary.Close All Connections
-    click button  ${xpath_button_logout}
-    Wait Until Page Contains Element  ${xpath_button_login}
-
-OpenBMC Test Closure
-    [Documentation]  Do final closure activities of test case execution.
-    Rprint Pgm Footer
-    Print Dashes  0  100  1  =
-    LogOut OpenBMC GUI
-
-Open Browser With URL
-    [Documentation]  Open browser with specified URL and returns browser id.
-    [Arguments]  ${URL}  ${browser}=gc
-    # Description of argument(s):
-    # URL      Openbmc GUI URL to be open
-    #          (e.g. https://openbmc-test.mybluemix.net/#/login )
-    # browser  browser used to open above URL
-    #          (e.g. gc for google chrome, ff for firefox)
-    ${browser_ID}=  Open Browser  ${URL}  ${browser}
-    [Return]  ${browser_ID}
-
-Model Server Power Click Button
-    [Documentation]  Click main server power in the header section.
-    [Arguments]  ${div_element}  ${anchor_element}
-    # Description of argument(s):
-    # div_element     Server power header divisional element
-    #                 (e.g. header_wrapper.)
-    # anchor_element  Server power header anchor element
-    #                 (e.g. header_wrapper_elt.)
-    Wait Until Element Is Visible
-    ...  //*[@id='header__wrapper']/div/div[${div_element}]/a[${anchor_element}]/span
-    Click Element
-    ...  //*[@id='header__wrapper']/div/div[${div_element}]/a[${anchor_element}]/span
-
-Controller Server Power Click Button
-    [Documentation]  Click main server power in the header section.
-    [Arguments]  ${controller_element}
-    # Description of argument(s):
-    # controller_element  Server power controller element
-    #                     (e.g. power__power-on.)
-
-    Wait Until Element Is Visible  ${controller_element}
-    Click Element  ${controller_element}
-
-Controller Power Operations Confirmation Click Button
-    [Documentation]  Click Common Power Operations Confirmation.
-    [Arguments]  ${main_element}  ${sub_element}  ${confirm_msg_elt}  ${confirmation}
-    # Description of argument(s):
-    # main_element     Server power operations element
-    #                  (e.g. power_operations.)
-    # sub_element      Server power operations sub element
-    #                  (e.g. warm_boot, shut_down.)
-    # confirm_msg_elt  Server power operations confirm message element
-    #                  (e.g. confirm_msg.)
-    # confirmation     Server power operations confirmation
-    #                  (e.g. yes.)
-
-    Click Element
-    ...  //*[@id='power-operations']/div[${main_element}]/div[${sub_element}]/confirm/div/div[${confirm_msg_elt}]/button[${confirmation}]
-
-GUI Power On
-    [Documentation]  Power on the Host using GUI.
-
-    Model Server Power Click Button  ${header_wrapper}  ${header_wrapper_elt}
-    Page Should Contain  Attempts to power on the server
-    Controller Server Power Click Button  power__power-on
-    Page Should Contain  Running
-
diff --git a/gui/obmc_asmi/test/server_overview/server_overview.robot b/gui/obmc_asmi/test/server_overview/server_overview.robot
deleted file mode 100644
index a24aa32..0000000
--- a/gui/obmc_asmi/test/server_overview/server_overview.robot
+++ /dev/null
@@ -1,26 +0,0 @@
-*** Settings ***
-Documentation  This test suite will validate the "OpenBMC ASMI Menu ->
-...            Server Overview" module.
-
-Resource         ../../lib/resource.robot
-Test Setup       OpenBMC Test Setup
-Test Teardown    OpenBMC Test Closure
-
-*** Variables ***
-${xpath_select_overview_1}  //*[@id="nav__top-level"]/li[1]/a/span
-${xpath_select_overview_2}  //a[@href='#/overview/system']
-${string_display_content}   Server overview
-
-*** Test Case ***
-Verify Title Text Content
-    [Documentation]  Verify display of title text from "Server Overview"
-    ...              module of OpenBMC GUI.
-    [Tags]  Verify_Title_Text_Content
-    Verify Display Content
-
-*** Keywords ***
-Verify Display Content
-    [Documentation]  Verify displaying of text.
-    Click Button  ${xpath_select_overview_1}
-    Click Button  ${xpath_select_overview_2}
-    Page Should Contain  ${string_display_content}
diff --git a/gui/obmc_asmi/__init__.robot b/gui/obmc_gui/__init__.robot
similarity index 99%
rename from gui/obmc_asmi/__init__.robot
rename to gui/obmc_gui/__init__.robot
index c747479..c92e0cc 100644
--- a/gui/obmc_asmi/__init__.robot
+++ b/gui/obmc_gui/__init__.robot
@@ -9,20 +9,23 @@
 *** Keywords ***
 Initializing Setup
     [Documentation]  Initialize test environment.
+
+    Get OpenBMC System Info
     Launch OpenBMC GUI Browser
     Login OpenBMC GUI
-    Get OpenBMC System Info
     Initial Message
     LogOut OpenBMC GUI
 
 Initial Message
     [Documentation]  Display initial info about the test cases.
+
     Rpvars  EXECDIR
     Rprint Timen  OBMC_GUI Testing ==> [IN PROGRESS]
     Print Dashes  0  100  1  =
 
 Get OpenBMC System Info
     [Documentation]  Display open BMC system info like system name and IP.
+
     ${OPENBMC_HOST_NAME}=  Get Hostname From IP Address  ${OPENBMC_HOST}
     Rpvars  OPENBMC_HOST  OPENBMC_HOST_NAME
     ${build_info}  ${stderr}  ${rc}=  BMC Execute Command  cat /etc/os-release
@@ -31,6 +34,7 @@
 
 Init Teardown Steps
     [Documentation]  End the test execution by closing browser.
+
     Print Timen  OBMC_GUI Testing ==> [Finished]
     Print Dashes  0  100  1  =
     Close Browser
diff --git a/gui/obmc_gui/data/resource_variables.py b/gui/obmc_gui/data/resource_variables.py
new file mode 100644
index 0000000..086bec1
--- /dev/null
+++ b/gui/obmc_gui/data/resource_variables.py
@@ -0,0 +1,27 @@
+#!/usr/bin/python
+
+r"""
+Contains xpaths and related string constants applicable to all openBMC GUI
+menus.
+"""
+
+
+class resource_variables():
+
+    xpath_textbox_hostname = "//*[@id='login__form']/input[1]"
+    xpath_textbox_username = "//*[@id='username']"
+    xpath_textbox_password = "//*[@id='password']"
+    xpath_button_login = "//*[@id='login__submit']"
+    xpath_button_logout = "//*[@id='header']/a"
+    xpath_display_server_power_status = \
+        "//*[@id='header__wrapper']/div/div[3]/a[3]/span"
+    xpath_select_button_orderly_power_shutdown = \
+        "//*[@id='power__soft-shutdown']"
+    xpath_select_button_orderly_power_shutdown_yes = \
+        "//*[@id='power-operations']/div[3]/div[5]/confirm/div/div[2]/" \
+        "button[1]"
+    xpath_select_button_power_on = "//*[@id='power__power-on']"
+
+    obmc_off_state = "Off"
+    obmc_quiesced_state = "Quiesced"
+    obmc_running_state = "Running"
diff --git a/gui/obmc_gui/lib/resource.robot b/gui/obmc_gui/lib/resource.robot
new file mode 100644
index 0000000..c77bd01
--- /dev/null
+++ b/gui/obmc_gui/lib/resource.robot
@@ -0,0 +1,181 @@
+*** Settings ***
+Documentation  This is a resource file of OpenBMC ASMI It contains the
+...            user-defined keywords which are available to all gui modules
+
+Library      String
+Library      Collections
+Library      DateTime
+Library      XvfbRobot
+Library      OperatingSystem
+Library      Selenium2Library  120  120
+Library      AngularJSLibrary
+Library      SSHLibrary  30 Seconds
+Library      Process
+Library      supporting_libs.py
+Library      ../../../lib/gen_print.py
+Library      ../../../lib/gen_robot_print.py
+Library      ../../../lib/gen_valid.py
+Library      ../../../lib/gen_robot_ssh.py
+Library      ../../../lib/bmc_ssh_utils.py
+Resource     ../../../lib/resource.txt
+Resource     ../../../lib/rest_client.robot
+Resource     ../../../lib/state_manager.robot
+Variables    ../data/resource_variables.py
+
+*** Variables ***
+${obmc_gui_url}              http://localhost:8080/#/login
+# Default Browser.
+${default_browser}           chrome
+
+${obmc_PowerOff_state}       Off
+${obmc_PowerRunning_state}   Running
+${obmc_PowerQuiesced_state}  Quiesced
+
+*** Keywords ***
+Launch OpenBMC GUI Browser
+    [Documentation]  Launch the OpenBMC GUI URL on a browser.
+    # By default uses headless mode, otherwise, the GUI browser.
+
+    ${op_system}=  Get Operating System
+    Run Keyword If  '${op_system}' == 'windows'
+    ...     Launch Browser in Windows Platform
+    ...  ELSE
+    ...     Launch Headless Browser
+
+Get Operating System
+    [Documentation]  Identify platform/OS.
+
+    ${curdir_lower_case}=  Convert To Lowercase  ${CURDIR}
+    ${windows_platform}=  Run Keyword And Return Status
+    ...  Should Contain  ${curdir_lower_case}  c:\
+    ${op_system}=  Run Keyword If  '${windows_platform}' == 'True'
+    ...     Set Variable  windows
+    ...   ELSE
+    ...     Set Variable  linux
+    [Return]  ${op_system}
+
+Launch Browser in Windows Platform
+    [Documentation]  Open the browser with the URL and
+    ...              login on windows platform.
+
+    ${BROWSER_ID}=  Open Browser  ${obmc_gui_url}  ${default_browser}
+    Maximize Browser Window
+    Set Global Variable  ${BROWSER_ID}
+
+Launch Headless Browser
+    [Documentation]  Launch headless browser.
+
+    Start Virtual Display  1920  1080
+    ${BROWSER_ID}=  Open Browser  ${obmc_gui_url}
+    Set Global Variable  ${BROWSER_ID}
+    Set Window Size  1920  1080
+
+Login OpenBMC GUI
+    [Documentation]  Perform login to open BMC GUI.
+    [Arguments]  ${username}=${OPENBMC_USERNAME}
+    ...  ${password}=${OPENBMC_PASSWORD}
+    # Description of argument(s):
+    # username      The username.
+    # password      The password.
+
+    Go To  ${obmc_gui_url}
+    Input Text  ${xpath_textbox_hostname}  ${OPENBMC_HOST}
+    Input Text  ${xpath_textbox_username}  ${username}
+    Input Password  ${xpath_textbox_password}  ${password}
+    Click Button  ${xpath_button_login}
+    Wait Until Element Is Enabled  ${xpath_button_logout}
+
+
+Test Setup Execution
+    [Documentation]  Verify all the preconditions to be tested.
+    [Arguments]  ${obmc_test_setup_state}=NONE
+    # Description of argument(s):
+    # obmc_test_setup      The OpenBMC required state.
+
+    Rprint Timen  ${TEST NAME} ==> [STARTED]
+    Login OpenBMC GUI
+    Log To Console  Verifying the system state and stablity...
+    ${obmc_current_state}=  Get Text  ${xpath_display_server_power_status}
+    Rpvars  obmc_current_state
+    ${obmc_state}=  Run Keyword And Return Status
+    ...  Should Contain  ${obmc_current_state}  ${obmc_test_setup_state}
+    Return From Keyword If  '${obmc_state}' == 'True'
+    ${obmc_quiesced_state}=  Run Keyword And Return Status
+    ...  Should Contain  ${obmc_current_state}  ${obmc_quiesced_state}
+    Run Keyword If  '${obmc_quiesced_state}' == 'True'  Reboot OpenBMC
+    Run Keyword If  '${obmc_test_setup_state}' == '${obmc_PowerRunning_state}'
+    ...  Power On OpenBMC
+    Run Keyword If  '${obmc_test_setup_state}' == '${obmc_PowerOff_state}'
+    ...  Power Off OpenBMC
+
+Power Off OpenBMC
+    [Documentation]  Power off the OBMC system.
+
+    Log To Console  Power Off OpenBMC...
+    Click Element  ${xpath_display_server_power_status}
+    Execute JavaScript  window.scrollTo(0, document.body.scrollHeight)
+    Click Button  ${xpath_select_button_orderly_power_shutdown}
+    Click Yes Button  ${xpath_select_button_orderly_power_shutdown_yes}
+    Wait OpenBMC To Become Stable  ${obmc_off_state}
+
+Power On OpenBMC
+    [Documentation]  Power on the OBMC system.
+
+    Log To Console  Power On OpenBMC...
+    Click Element  ${xpath_display_server_power_status}
+    Click Button  ${xpath_select_button_power_on }
+    Wait OpenBMC To Become Stable  ${obmc_running_state}
+
+Reboot OpenBMC
+    [Documentation]  Rebooting the OBMC system.
+
+    Log To Console  Reboting the OpenBMC...
+    Click Element  ${xpath_display_server_power_status}
+    Click Button  ${xpath_select_button_orderly_power_shutdown}
+    Click Yes Button  ${xpath_select_button_orderly_power_shutdown_yes}
+    Wait OpenBMC To Become Stable  ${obmc_off_state}
+
+Wait OpenBMC To Become Stable
+    [Documentation]  Power off the OBMC.
+    [Arguments]  ${OBMC_expected_state}  ${retry_time}=5 min
+    ...  ${retry_interval}=45 sec
+    # Description of argument(s):
+    # OBMC_expected_state      The OBMC state which is required for test.
+    # retry_time               Total wait time after executing the command.
+    # retry_interval           Time interval for to keep checking with in the
+    #                          above total wait time.
+
+    Wait Until Keyword Succeeds  ${retry_time}  ${retry_interval}
+    ...  Wait Until Element Contains  ${xpath_display_server_power_status}
+    ...  ${obmc_expected_state}
+    Wait Until Keyword Succeeds  ${retry_time}  ${retry_interval}
+    ...  Verify OpenBMC State From REST Interface  ${obmc_expected_state}
+
+Verify OpenBMC State From REST Interface
+    [Documentation]  Verify system state from REST Interface.
+    [Arguments]  ${obmc_required_state}
+    # Description of argument(s):
+    # obmc_required_state      The OBMC state which is required for test.
+
+    ${obmc_current_state_REST}=  Get Host State
+    Should Be Equal  ${obmc_current_state_REST}  ${obmc_required_state}
+
+Click Yes Button
+    [Documentation]  Click the 'yes' button.
+    [Arguments]  ${xpath_button_yes}
+    # Description of argument(s):
+    # xpath_button_yes      The xpath of 'yes' button.
+
+    Click Button  ${xpath_button_yes}
+
+LogOut OpenBMC GUI
+    [Documentation]  Log out of OpenBMC GUI.
+    SSHLibrary.Close All Connections
+    click button  ${xpath_button_logout}
+    Wait Until Page Contains Element  ${xpath_button_login}
+
+Test Teardown Execution
+    [Documentation]  Do final closure activities of test case execution.
+    Rprint Pgm Footer
+    Print Dashes  0  100  1  =
+    LogOut OpenBMC GUI
diff --git a/gui/obmc_asmi/lib/supporting_libs.py b/gui/obmc_gui/lib/supporting_libs.py
similarity index 100%
rename from gui/obmc_asmi/lib/supporting_libs.py
rename to gui/obmc_gui/lib/supporting_libs.py
diff --git a/gui/obmc_asmi/test/gui_header/test_obmc_gui_power_operations.robot b/gui/obmc_gui/test/gui_header/test_obmc_gui_power_operations.robot
similarity index 100%
rename from gui/obmc_asmi/test/gui_header/test_obmc_gui_power_operations.robot
rename to gui/obmc_gui/test/gui_header/test_obmc_gui_power_operations.robot
diff --git a/gui/obmc_gui/test/server_overview/server_overview.robot b/gui/obmc_gui/test/server_overview/server_overview.robot
new file mode 100644
index 0000000..c967120
--- /dev/null
+++ b/gui/obmc_gui/test/server_overview/server_overview.robot
@@ -0,0 +1,120 @@
+*** Settings ***
+Documentation  This test suite will validate the "OpenBMC ASMI Menu ->
+...            Server Overview" module.
+
+Resource         ../../lib/resource.robot
+Test Setup       Test Setup Execution  ${OBMC_PowerOff_state}
+Test Teardown    Test Teardown Execution
+
+*** Variables ***
+${xpath_select_overview_1}         //*[@id="nav__top-level"]/li[1]/a/span
+${string_content}                  witherspoon
+${string_server_info}              Server information
+${string_high_priority_events}     High priority events
+${string_BMC_info}                 BMC information
+${string_power_info}               Power information
+${xpath_high_priority_events}      //a[@href='#/server-health/event-log']
+${string_event_log}                Event log
+${xpath_launch_serial_over_lan}    //a[@class='no-icon quick-links__item']
+${string_launch_serial_over_lan}   Serial over LAN console
+
+*** Test Case ***
+# OpenBMC @ Power Off state test cases.
+
+Verify Title Text Content At OBMC Power Off State
+    [Documentation]  Verify display of title text from "Server Overview"
+    ...  module of OpenBMC GUI.
+    [Tags]  Verify_Title_Text_Content_At_OBMC_Power_Off_State
+    ...  OBMC_PowerOff_state
+
+    Select Server Overview Menu
+    Verify Display Content  ${string_content}
+
+Verify Display Text Server Information At OBMC Power Off State
+    [Documentation]  Verify existence of text "Server information".
+    [Tags]  Verify_Display_Text_Server_Information_At_OBMC_Power_Off_State
+    ...  OBMC_PowerOff_state
+
+    Select Server Overview Menu
+    Verify Display Content  ${string_server_info}
+
+Verify BMC Information Should Display At OBMC Power Off State
+    [Documentation]  Verify existence of text "BMC information".
+    [Tags]  Verify_BMC_Information_Should_Display_At_OBMC_Power_Off_State
+    ...  OBMC_PowerOff_State
+
+    Select Server Overview Menu
+    Verify Display Content  ${string_BMC_info}
+
+Verify POWER Information Should Display At OBMC Power Off State
+    [Documentation]  Verify existence of text "Power information".
+    [Tags]  Verify_Power_Information_Should_Display_At_OBMC_Power_Off_State
+    ...  OBMC_PowerOff_State
+
+    Select Server Overview Menu
+    Verify Display Content  ${string_power_info}
+
+Verify High Priority Events Should Display At OBMC Power Off State
+    [Documentation]  Verify the text display.
+    [Tags]  Verify_High_Priority_Events_Should_Display_At_OBMC_Power_Off_State
+    ...  OBMC_PowerOff_State
+
+    Select Server Overview Menu
+    Verify Display Content  ${string_high_priority_events}
+
+Verify High Priority Events Can Be Operated At OBMC Power Off State
+    [Documentation]  Will open the "High Priority Events".
+    ...  menu to view and operate.
+    [Tags]  Verify_High_Priority_Events_Can_Be_Operated_At_OBMC_Power_Off_State
+    ...   OBMC_PowerOff_state
+
+    Select Server Overview Menu
+    Click Link  ${xpath_high_priority_events}
+    Verify Display Content  ${string_event_log}
+
+Verify Launching Of Serial Over LAN Console At OBMC Power Off State
+    [Documentation]  Will open the serial over the lan command prompt window.
+    [Tags]  Verify_Launching_Of_Serial_Over_LAN_Console_At_OBMC_Power_Off_State
+    ...  OBMC_PowerOff_State
+
+    Select Server Overview Menu
+    Click Element  ${xpath_launch_serial_over_lan}
+    Verify Display Content  ${string_launch_serial_over_lan}
+
+
+# OpenBMC @ Power Running state test cases.
+
+Verify High Priority Events Can Be Operated At OBMC Power Running State
+    [Documentation]  Will open the "High Priority Events"
+    ...  menu to view and operate.
+    [Tags]  Verify_High_Priority_Events_Can_Be_Operated_At_OBMC_Power_Running_State
+    ...  OBMC_PowerRunning_state
+    [Setup]  Test Setup Execution  ${OBMC_PowerRunning_state}
+
+    Select Server Overview Menu
+    Click Link  ${xpath_high_priority_events}
+    Verify Display Content  ${string_event_log}
+
+Verify Launching Of Serial Over LAN Console At OBMC Power Running State
+    [Documentation]  Will open the serial over the lan command prompt window.
+    [Tags]  Verify_Launching_Of_Serial_Over_LAN_Console_At_OBMC_Power_Running_State
+    ...  OBMC_PowerRunning_State
+    [Setup]  Test Setup Execution  ${OBMC_PowerRunning_state}
+
+    Select Server Overview Menu
+    Click Element  ${xpath_launch_serial_over_lan}
+    Verify Display Content  ${string_launch_serial_over_lan}
+
+*** Keywords ***
+Select Server Overview Menu
+    [Documentation]  Selecting of OpenBMC "Server overview" menu.
+
+    Click Button  ${xpath_select_overview_1}
+
+Verify Display Content
+    [Documentation]  Verify text content display.
+    [Arguments]  ${display_text}
+    # Description of argument(s):
+    # display_text   The display text on web page.
+
+    Page Should Contain  ${display_text}