diff --git a/gui/obmc_gui/data/resource_variables.py b/gui/obmc_gui/data/resource_variables.py
index 086bec1..6fd1de6 100644
--- a/gui/obmc_gui/data/resource_variables.py
+++ b/gui/obmc_gui/data/resource_variables.py
@@ -13,6 +13,8 @@
     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]"
     xpath_display_server_power_status = \
         "//*[@id='header__wrapper']/div/div[3]/a[3]/span"
     xpath_select_button_orderly_power_shutdown = \
@@ -25,3 +27,17 @@
     obmc_off_state = "Off"
     obmc_quiesced_state = "Quiesced"
     obmc_running_state = "Running"
+
+    # 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"
+    No = "2"
diff --git a/gui/obmc_gui/lib/resource.robot b/gui/obmc_gui/lib/resource.robot
index c77bd01..29b676a 100644
--- a/gui/obmc_gui/lib/resource.robot
+++ b/gui/obmc_gui/lib/resource.robot
@@ -23,7 +23,7 @@
 Variables    ../data/resource_variables.py
 
 *** Variables ***
-${obmc_gui_url}              http://localhost:8080/#/login
+${openbmc_gui_url}              http://localhost:8080/#/login
 # Default Browser.
 ${default_browser}           chrome
 
@@ -58,7 +58,7 @@
     [Documentation]  Open the browser with the URL and
     ...              login on windows platform.
 
-    ${BROWSER_ID}=  Open Browser  ${obmc_gui_url}  ${default_browser}
+    ${BROWSER_ID}=  Open Browser  ${openbmc_gui_url}  ${default_browser}
     Maximize Browser Window
     Set Global Variable  ${BROWSER_ID}
 
@@ -66,7 +66,7 @@
     [Documentation]  Launch headless browser.
 
     Start Virtual Display  1920  1080
-    ${BROWSER_ID}=  Open Browser  ${obmc_gui_url}
+    ${BROWSER_ID}=  Open Browser  ${openbmc_gui_url}
     Set Global Variable  ${BROWSER_ID}
     Set Window Size  1920  1080
 
@@ -78,12 +78,13 @@
     # username      The username.
     # password      The password.
 
-    Go To  ${obmc_gui_url}
+    Go To  ${openbmc_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}
+    Click Element  login__submit
     Wait Until Element Is Enabled  ${xpath_button_logout}
+    Page Should Contain  Server information
 
 
 Test Setup Execution
@@ -179,3 +180,63 @@
     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}
+    Page Should Contain Button  ${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_gui/test/gui_header/test_obmc_gui_power_operations.robot b/gui/obmc_gui/test/gui_header/test_obmc_gui_power_operations.robot
index edb8b99..14079ec 100644
--- a/gui/obmc_gui/test/gui_header/test_obmc_gui_power_operations.robot
+++ b/gui/obmc_gui/test/gui_header/test_obmc_gui_power_operations.robot
@@ -2,9 +2,10 @@
 
 Documentation  Test Open BMC GUI Power Operations under GUI Header.
 
+Resource  ../../../../lib/state_manager.robot
 Resource  ../../lib/resource.robot
 
-Suite Setup  Login OpenBMC GUI  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD}
+Suite Setup   Login OpenBMC GUI with failure enable
 Suite Teardown  Close Browser
 
 *** Test Cases ***
@@ -13,85 +14,110 @@
     [Documentation]  Power on the host.
     [Tags]  Power_On_the_Host
 
+    Expected Initial Test State  Off
     GUI Power On
+    Wait Until Keyword Succeeds  10 min  10 sec  Is Host Running
+    Wait Until Page Contains  Running
 
-Click Immediate Power Off The Host And Press No
-    [Documentation]  Click Immediate power off the host button and press no
-    ...  button.
-    [Tags]  Click_Immediate_Power_Off_The_Host_And_Press_No
+Click Immediate Shutdown Then No
+    [Documentation]  Click the "Immediate shutdown" button and then click the
+    ...  "No" button.
+    [Tags]  Click_Immediate_Shutdown_Then_No
 
+    Expected Initial Test State  Running
     Controller Server Power Click Button  power__hard-shutdown
     Controller Power Operations Confirmation Click Button  ${power_operations}
     ...  ${power_off}  ${confirm_msg}  ${no}
-    Page Should Contain  Running
 
-Click Immediate Power Off The Host And Press Yes
-    [Documentation]  Click Immediate power off the host button and press
-    ...  yes button.
-    [Tags]  Click_Immediate_Power_Off_The_Host_And_Press_Yes
+    Is Host Running
+    Wait Until Page Contains  Running
 
-    Controller Server Power Click Button  power__hard-shutdown
-    Controller Power Operations Confirmation Click Button  ${power_operations}
-    ...  ${power_off}  ${confirm_msg}  ${yes}
-    Page Should Contain  Off
+Click Cold Reboot Then No
+    [Documentation]  Click the "Cold reboot" button and then click the "No"
+    ...  button.
+    [Tags]  Click_Cold_Reboot_Then_No
 
-Click Cold Boot The Host And Press No
-    [Documentation]  Click cold boot the host button and press no button.
-    [Tags]  Click_Cold_Boot_The_Host_And_Press_No
-
-    GUI Power On
+    Expected Initial Test State  Running
     Controller Server Power Click Button  power__cold-boot
     Controller Power Operations Confirmation Click Button  ${power_operations}
     ...  ${cold_boot}  ${confirm_msg}  ${no}
+
+    Is Host Running
     Page Should Contain  Running
 
-Click Cold Boot The Host And Press Yes
-    [Documentation]  Click Cold boot the host button and press yes button.
-    [Tags]  Click_Cold_Boot_the_Host_And_Press_Yes
+Click Warm Reboot Then No
+    [Documentation]  Click the "Warm reboot" button and then click the "No"
+    ...  button.
+    [Tags]  Click_Warm_Reboot_Then_No
 
+    Expected Initial Test State  Running
+    Controller Server Power Click Button  power__warm-boot
+    Controller Power Operations Confirmation Click Button  ${power_operations}
+    ...  ${warm_boot}  ${confirm_msg}  ${no}
+    Is Host Running
+    Page Should Contain  Running
+
+Click Orderly Shutdown Then No
+    [Documentation]  Click the "Orderly shutdown" button and then click the
+    ...  "No" button.
+    [Tags]  Click_Orderly_Shutdown_Then_No
+
+    Expected Initial Test State  Running
+    Controller Server Power Click Button  power__soft-shutdown
+    Controller Power Operations Confirmation Click Button  ${power_operations}
+    ...  ${shut_down}  ${confirm_msg}  ${no}
+    Wait Until Keyword Succeeds  10 min  10 sec  Is Host Running
+    Page Should Contain  Running
+
+Click Warm Reboot Then Yes
+    [Documentation]  Click the "Warm reboot" button and then click the "Yes"
+    ...  button.
+    [Tags]  Click_Warm_Reboot_Then_Yes
+
+    Expected Initial Test State  Running
+    Controller Server Power Click Button  power__warm-boot
+    Controller Power Operations Confirmation Click Button  ${power_operations}
+    ...  ${warm_boot}  ${confirm_msg}  ${yes}
+    Wait Until Keyword Succeeds  10 min  10 sec  Is Host Running
+    Page Should Contain  Running
+
+Click Cold Reboot Then Yes
+    [Documentation]  Click the "Cold reboot" button and then click the "Yes"
+    ...  button.
+    [Tags]  Click_Cold_Reboot_Then_Yes
+
+    Expected Initial Test State  Running
     Controller Server Power Click Button  power__cold-boot
     Controller Power Operations Confirmation Click Button  ${power_operations}
     ...  ${cold_boot}  ${confirm_msg}  ${yes}
     Page Should Contain  Standby
+    Wait Until Keyword Succeeds  10 min  10 sec  Is Host Running
     Page Should Contain  Running
 
-Click Warm Boot The Host And Press No
-    [Documentation]  Click warm boot the host button and press no button.
-    [Tags]  Click_Warm_Boot_The_Host_And_Press_No
+Click Orderly Shutdown Then Yes
+    [Documentation]  Click the "Orderly shutdown" button and then click the
+    ...  "Yes" button.
+    [Tags]  Click_Orderly_Shutdown_Then_Yes
 
-    Controller Server Power Click Button  power__warm-boot
-    Controller Power Operations Confirmation Click Button  ${power_operations}
-    ...  ${warm_boot}  ${confirm_msg}  ${no}
-    Page Should Contain  Running
-
-Click Warm Boot The Host And Press Yes
-    [Documentation]  Click warm boot the host button and press yes button.
-    [Tags]  Click_Warm_Boot_The_Host_And_Press_Yes
-
-    Controller Server Power Click Button  power__warm-boot
-    Controller Power Operations Confirmation Click Button  ${power_operations}
-    ...  ${warm_boot}  ${confirm_msg}  ${yes}
-    Page Should Contain  Running
-
-Click Orderly Shutdown The Host And Press No
-    [Documentation]  Press orderly shutdown the host button and press no
-    ...  button.
-    [Tags]  Click_Orderly_Shutdown_The_Host_And_Press_No
-
-    Controller Server Power Click Button  power__soft-shutdown
-    Controller Power Operations Confirmation Click Button  ${power_operations}
-    ...  ${shut_down}  ${confirm_msg}  ${no}
-    Page Should Contain  Running
-
-Click Orderly Shutdown The Host And Press Yes
-    [Documentation]  Press orderly shutdown the host button and press yes
-    ...  button.
-    [Tags]  Click_Orderly_Shutdown_The_Host_And_Press_Yes
-
+    Expected Initial Test State  Running
     Controller Server Power Click Button  power__soft-shutdown
     Controller Power Operations Confirmation Click Button  ${power_operations}
     ...  ${shut_down}  ${confirm_msg}  ${yes}
     Page Should Contain  Off
+    Wait Until Keyword Succeeds  6 min  10 sec  Is Host Off
+
+Click Immediate Shutdown Then Yes
+    [Documentation]  Click "Immediate shutdown" button and then click the "Yes"
+    ...  button.
+    [Tags]  Click_Immediate_Shutdown_Then_Yes
+
+    Expected Initial Test State  Running
+    Controller Server Power Click Button  power__hard-shutdown
+    Controller Power Operations Confirmation Click Button  ${power_operations}
+    ...  ${power_off}  ${confirm_msg}  ${yes}
+
+    Wait Until Page Contains  Off
+    Wait Until Keyword Succeeds  6 min  10 sec  Is Host Off
 
 OpenBMC GUI Logoff
     [Documentation]  Log out from openBMC GUI.
@@ -101,6 +127,26 @@
     Log To Console  ${xpath_openbmc_url}
     Click Element  header
 
+*** Keywords ***
+
+Expected Initial Test State
+    [Documentation]  Power on the host if "Running" expected, Power off the
+    ...  host if "Off" expected as per the requirement of initial test state.
+    [Arguments]  ${expectedState}
+    # Description of argument(s):
+    # expectedState    Test initial host state.
+
+    Run Keyword If  '${expectedState}' == 'Running'
+    ...  Initiate Host Boot
+
+    Run Keyword If  '${expectedState}' == 'Off'
+    ...  Initiate Host PowerOff
+
+Login OpenBMC GUI with failure enable
+
+    Open Browser With URL  ${xpath_openbmc_url}
+    Login OpenBMC GUI  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD}
+
 
 
 
