diff --git a/redfish/dmtf_tools/Redfish_Usecase_Checkers.robot b/redfish/dmtf_tools/Redfish_Usecase_Checkers.robot
index 42c1b0e..09620a6 100644
--- a/redfish/dmtf_tools/Redfish_Usecase_Checkers.robot
+++ b/redfish/dmtf_tools/Redfish_Usecase_Checkers.robot
@@ -1,24 +1,33 @@
 *** Settings ***
-Documentation      Test BMC using https://github.com/DMTF/Redfish-Usecase-Checkers
-...                DMTF tool.
+Documentation             Test BMC using https://github.com/DMTF/Redfish-Usecase-Checkers
+...                       DMTF tool.
 
-Library            OperatingSystem
-Resource           ../../lib/dmtf_tools_utils.robot
-Resource           ../../lib/openbmc_ffdc.robot
+Library                   OperatingSystem
+Library                   ../../lib/state.py
+Resource                  ../../lib/dmtf_tools_utils.robot
+Resource                  ../../lib/openbmc_ffdc.robot
 
-Test Setup         Test Setup Execution
-Test Teardown      Test Teardown Execution
+Test Setup                Test Setup Execution
+Test Teardown             Test Teardown Execution
 
 *** Variables ***
 
-${DEFAULT_PYTHON}  python3
+${DEFAULT_PYTHON}         python3
 
-${rsv_github_url}  https://github.com/DMTF/Redfish-Usecase-Checkers.git
-${rsv_dir_path}    Redfish-Usecase-Checkers
+${rsv_github_url}         https://github.com/DMTF/Redfish-Usecase-Checkers.git
+${rsv_dir_path}           Redfish-Usecase-Checkers
 
-${command_account}  ${DEFAULT_PYTHON} ${rsv_dir_path}${/}account_management/account_management.py
-...                -r ${OPENBMC_HOST} -u ${OPENBMC_USERNAME}
-...                -p ${OPENBMC_PASSWORD} -S Always -d ${EXECDIR}${/}logs${/} -v
+${command_account}        ${DEFAULT_PYTHON} ${rsv_dir_path}${/}account_management/account_management.py
+...                       -r ${OPENBMC_HOST} -u ${OPENBMC_USERNAME}
+...                       -p ${OPENBMC_PASSWORD} -S Always -d ${EXECDIR}${/}logs${/} -v
+
+${command_power_control}  ${DEFAULT_PYTHON} ${rsv_dir_path}${/}power_control/power_control.py
+...                       -r ${OPENBMC_HOST} -u ${OPENBMC_USERNAME}
+...                       -p ${OPENBMC_PASSWORD} -S Always --F
+
+${power_on_timeout}       15 mins
+${power_off_timeout}      15 mins
+${state_change_timeout}   3 mins
 
 *** Test Case ***
 
@@ -31,14 +40,81 @@
     ${output}=  Shell Cmd  cat ${EXECDIR}${/}logs${/}results.json
     Log  ${output}
 
+
+Test BMC Redfish Boot Host And ForceOff
+    [Documentation]  Boot host and ForceOff.
+    [Tags]  Test_BMC_Redfish_Boot_Host_And_ForceOff
+
+    DMTF Power On
+    DMTF Hard Power Off
+
+
+Test BMC Redfish Boot Host And GracefulShutdown
+    [Documentation]  Boot host and issue GracefulShutdown.
+    [Tags]  Test_BMC_Redfish_Boot_Host_And_GracefulShutdown
+
+    DMTF Power On
+    DMTF Power Off
+
+
 *** Keywords ***
 
 Test Setup Execution
     [Documentation]  Do test case setup tasks.
 
+    Printn
     Download DMTF Tool  ${rsv_dir_path}  ${rsv_github_url}
 
+    ${status}  ${state}=  Run Keyword And Ignore Error
+    ...  Check State  standby_match_state
+    Return From Keyword If  '${status}' == 'PASS'
+    DMTF Power Off
+
+
 Test Teardown Execution
     [Documentation]  Do the post-test teardown.
 
+    Printn
     FFDC On Test Case Fail
+
+
+DMTF Power On
+    [Documentation]  Power the BMC machine on via DMTF tools.
+
+    Print Timen  Doing "DMTF Power On".
+
+    ${state}=  Get State
+    ${match_state}=  Anchor State  ${state}
+    Run DMTF Tool  ${rsv_dir_path}  ${command_power_control} On
+    ${state}=  Wait State  ${match_state}  wait_time=${state_change_timeout}  interval=10 seconds  invert=1
+    ${state}=  Wait State  os_running_match_state  wait_time=${power_on_timeout}  interval=10 seconds
+
+    [Return]  ${state}
+
+
+DMTF Power Off
+    [Documentation]  Power the BMC machine off via DMTF tools.
+
+    Print Timen  Doing "DMTF Hard Power Off".
+
+    ${state}=  Get State
+    ${match_state}=  Anchor State  ${state}
+    Run DMTF Tool  ${rsv_dir_path}  ${command_power_control} GracefulShutdown
+    ${state}=  Wait State  ${match_state}  wait_time=${state_change_timeout}  interval=10 seconds  invert=1
+    ${state}=  Wait State  standby_match_state  wait_time=${power_off_timeout}  interval=10 seconds
+
+    [Return]  ${state}
+
+
+DMTF Hard Power Off
+    [Documentation]  Power the BMC machine off via DMTF tools.
+
+    Print Timen  Doing "DMTF Hard Power Off".
+
+    ${state}=  Get State
+    ${match_state}=  Anchor State  ${state}
+    Run DMTF Tool  ${rsv_dir_path}  ${command_power_control} ForceOff
+    ${state}=  Wait State  ${match_state}  wait_time=${state_change_timeout}  interval=10 seconds  invert=1
+    ${state}=  Wait State  standby_match_state  wait_time=${power_off_timeout}  interval=10 seconds
+
+    [Return]  ${state}
