diff --git a/lib/xcat/xcat_utils.robot b/lib/xcat/xcat_utils.robot
index 943ca6e..032d526 100644
--- a/lib/xcat/xcat_utils.robot
+++ b/lib/xcat/xcat_utils.robot
@@ -155,4 +155,16 @@
     Should Contain  ${nodes_in_group}  ${node}
     ...  msg=BMC node is not added in a group.
 
-# TBD  openbmc/openbmc-test-automation/issues/647
+Get Hardware Vitals Via XCAT
+    [Documentation]  Get hardware vitals via XCAT.
+    [Arguments]  ${node}  ${option}
+
+    # Description of argument(s):
+    # node    Name of the node (e.g. "node1").
+    # option  Hardware vitals option (e.g. "temp", "voltage", "fanspeed", etc.).
+
+    ${cmd_buf}=  Catenate  ${XCAT_DIR_PATH}/rvitals ${node} ${option}
+    ${stdout}  ${stderr}=  Execute Command  ${cmd_buf}  return_stderr=True
+    Should Be Empty  ${stderr}
+
+    [Return]  ${stdout}
diff --git a/xcat/test_xcat_group.robot b/xcat/test_xcat_group.robot
index ce3dd54..3df04c8 100644
--- a/xcat/test_xcat_group.robot
+++ b/xcat/test_xcat_group.robot
@@ -8,11 +8,13 @@
 Library         String
 
 Suite Setup  Validate XCAT Setup
+Suite Teardown  Close All Connections
 
 *** Variables ***
 
 ${poweron_flag}   ON
 ${poweroff_flag}  OFF
+${NUM_POWER_STATUS_CHECKS}  1000
 
 *** Test Cases ***
 
@@ -93,6 +95,93 @@
     : FOR  ${bmc_node}  IN  @{bmc_nodes}
     \  Validate Power Status Via XCAT  ${bmc_node}  ${poweroff_flag}
 
+Continuous Node Power Status
+    [Documentation]  Continuously get the power status.
+    # This keyword verifies the REST connectivity between XCAT and the BMC node.
+    [Tags]  Continuos_Node_Power_Status
+
+    # Performing this operation only on one BMC node.
+
+    Power On Via XCAT  ${BMC_LIST[1]}
+
+    # Get the power status of the node repeatedly.
+    # By default it gets power status 1000 times.
+    # It bascially stress the BMC node and test REST implementation
+    # of the BMC node
+
+    : FOR  ${index}  IN RANGE  1  ${NUM_POWER_STATUS_CHECKS}
+    \  Validate Power Status Via XCAT  ${BMC_LIST[1]}  ${poweron_flag}
+
+Get Temperature Reading Via XCAT
+    [Documentation]  Get temperature reading via XCAT.
+    [Tags]  Get_Temperature_Reading_Via_XCAT
+
+    # Sample output of the keyword:
+    # node1: Ambient: 28.62 C
+    # node1: P0 Vcs Temp: 35 C
+    # node1: P0 Vdd Temp: 35 C
+    # node1: P0 Vddr Temp: 35 C
+    # node1: P0 Vdn Temp: 35 C
+    # node1: P1 Vcs Temp: 33 C
+    # node1: P1 Vdd Temp: 33 C
+    # node1: P1 Vddr Temp: 34 C
+    # node1: P1 Vdn Temp: 34 C
+
+    # Get temperature reading from each BMC node.
+
+    : FOR  ${bmc}  IN  @{BMC_LIST}
+    \  ${temp_reading}=  Get Hardware Vitals Via XCAT  ${bmc}  temp
+    \  Should Match  ${temp_reading}  ${bmc}* C
+    \  Log  \n Temperature reading on $[bmc}\n ${temp_reading}
+
+Get Fanspeed Via XCAT
+    [Documentation]  Get fanspeed via XCAT.
+    [Tags]  Get_Fanspeed_Reading_Via_XCAT
+
+    # Sample output of the keyword:
+    # node1: Fan0 0: 10714 RPMS
+    # node1: Fan1 0: 10216 RPMS
+    # node1: Fan2 0: 14124 RPMS
+    # node1: Fan3 0: 11114 RPMS
+
+    # Get fanspeed from each BMC node.
+
+    : FOR  ${bmc}  IN  @{BMC_LIST}
+    \  ${fanspeed}=  Get Hardware Vitals Via XCAT  ${bmc}  fanspeed
+    \  Should Match  ${fanspeed}  ${bmc}* RPMS
+    \  Log  \n fanspeed on $[bmc}\n ${fanspeed}
+
+*** Comment ***
+
+Get Voltage Reading Via XCAT
+    [Documentation]  Get voltage via XCAT.
+    [Tags]  Get_Voltage_Via_XCAT
+
+    # Sample output of the keyword:
+    # node1: No attributes returned from the BMC.
+    # BMC node is not returning anything, this will fail at present.
+
+    # Get voltage reading from each BMC node.
+
+    : FOR  ${bmc}  IN  @{BMC_LIST}
+    \  ${voltage}=  Get Hardware Vitals Via XCAT  ${bmc}  voltage
+    \  Log  \n Voltage reading on $[bmc}\n ${voltage}
+
+Get Wattage Via XCAT
+    [Documentation]  Get wattage via XCAT.
+    [Tags]  Get_Wattage_Via_XCAT
+
+    # Sample output of the keyword:
+    # node1: No attributes returned from the BMC.
+    # BMC node is not returning anything, this will fail at present.
+
+    # Get wattage reading from each BMC node.
+
+    : FOR  ${bmc}  IN  @{BMC_LIST}
+    \  ${wattage}=  Get Hardware Vitals Via XCAT  ${bmc}  wattage
+    \  Log  \n Wattage reading on $[bmc}\n ${wattage}
+
+
 *** Keywords ***
 
 Validate XCAT Setup
