diff --git a/data/variables.py b/data/variables.py
index 58b0893..900b042 100644
--- a/data/variables.py
+++ b/data/variables.py
@@ -139,6 +139,7 @@
 # Redfish variables.
 REDFISH_BASE_URI = '/redfish/v1/'
 REDFISH_SESSION = REDFISH_BASE_URI + 'SessionService/Sessions'
+REDFISH_SESSION_URI = 'SessionService/Sessions/'
 
 '''
   QEMU HTTPS variable:
diff --git a/lib/redfish_client.robot b/lib/redfish_client.robot
index 10bdb3d..8dcab88 100644
--- a/lib/redfish_client.robot
+++ b/lib/redfish_client.robot
@@ -40,32 +40,47 @@
     ...  ${REDFISH_SESSION}  data=${data}  headers=${headers}
 
     Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
+    ${content} =  To JSON  ${resp.content}
+
+    Log  ${content["Id"]}
     Log  ${resp.headers["X-Auth-Token"]}
 
-    [Return]  ${resp.headers["X-Auth-Token"]}
+    [Return]  ${content["Id"]}  ${resp.headers["X-Auth-Token"]}
 
 
 Redfish Get Request
     [Documentation]  Do REST GET request and return the result.
-    [Arguments]  ${uri_suffix}  ${xauth_token}=None
-    ...          ${response_format}=json  ${timeout}=30
+    [Arguments]  ${uri_suffix}
+    ...          ${session_id}=${None}
+    ...          ${xauth_token}=${None}
+    ...          ${response_format}="json"
+    ...          ${timeout}=30
 
     # Description of argument(s):
     # uri_suffix       The URI to establish connection with
     #                  (e.g. 'Systems').
+    # session_id       Session id.
     # xauth_token      Authentication token.
     # response_format  The format desired for data returned by this keyword
     #                  (json/HTTPS response).
     # timeout          Timeout in seconds to establish connection with URI.
 
-    ${xauth_token} =  Run Keyword If  ${xauth_token} == ${None}
-    ...  Redfish Login Request
-
     ${base_uri} =  Catenate  SEPARATOR=  ${REDFISH_BASE_URI}  ${uri_suffix}
 
+    # Create session, token list [vIP8IxCQlQ, Nq9l7fgP8FFeFg3QgCpr].
+    ${id_auth_list} =  Create List  ${session_id}  ${xauth_token}
+
+    # Set session and auth token variable.
+    ${session_id}  ${xauth_token} =
+    ...  Run Keyword If  "${xauth_token}" == "${None}"
+    ...    Redfish Login Request
+    ...  ELSE
+    ...    Set Variable  ${id_auth_list}
+
     # Example: "X-Auth-Token: 3la1JUf1vY4yN2dNOwun"
     ${headers} =  Create Dictionary  Content-Type=application/json
     ...  X-Auth-Token=${xauth_token}
+
     ${resp}=  Get Request
     ...  openbmc  ${base_uri}  headers=${headers}  timeout=${timeout}
 
@@ -76,3 +91,28 @@
     ${content} =  To JSON  ${resp.content}
     [Return]  ${content}
 
+
+Redfish Delete Request
+    [Documentation]  Delete the resource identified by the URI.
+    [Arguments]  ${session_id}
+    ...          ${xauth_token}
+    ...          ${timeout}=10
+
+    # Description of argument(s):
+    # session_id   Session id.
+    # xauth_token  Authentication token.
+    # timeout      Timeout in seconds to establish connection with URI.
+
+    ${base_uri} =  Catenate  SEPARATOR=  ${REDFISH_SESSION}${/}  ${session_id}
+
+    # Example: "X-Auth-Token: 3la1JUf1vY4yN2dNOwun"
+    ${headers} =  Create Dictionary  Content-Type=application/json
+    ...  X-Auth-Token=${xauth_token}
+
+    # Delete server session.
+    ${resp}=  Delete Request  openbmc
+    ...  ${base_uri}  headers=${headers}  timeout=${timeout}
+    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
+
+    # Delete client sessions.
+    Delete All Sessions
diff --git a/redfish_test/test_redfish_interfaces.robot b/redfish_test/test_redfish_interfaces.robot
index 17324c7..b8ea79f 100644
--- a/redfish_test/test_redfish_interfaces.robot
+++ b/redfish_test/test_redfish_interfaces.robot
@@ -1,13 +1,28 @@
 *** Settings ***
 Documentation    Test Redfish interfaces supported.
 
-Resource    ../lib/redfish_client.robot
+Resource         ../lib/redfish_client.robot
+
+Test Setup       Test Setup Execution
+Test Teardown    Test Teardown Execution
+
 
 ** Test Cases **
 
-Get Redfish Response Codes
+Test Get Redfish Session Id
+    [Documentation]  Establish session to BMC and get session identifier.
+    [Tags]  Test_Get_Redfish_Session_Id
+
+    ${session_url} =
+    ...  Catenate  SEPARATOR=  ${REDFISH_SESSION_URI}  ${test_session_id}
+    ${resp} =  Redfish Get Request
+    ...  ${session_url}  xauth_token=${test_auth_token}  response_format=${0}
+    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
+
+
+Test Get Redfish Response Codes
     [Documentation]  Get Redfish response codes and validate them.
-    [Tags]  Get_Redfish_Response_Codes
+    [Tags]  Test_Get_Redfish_Response_Codes
     [Template]  Execute Get And Check Response
 
     # Expected status    URL Path
@@ -17,6 +32,7 @@
     ${HTTP_OK}           Managers/openbmc/EthernetInterfaces/eth0
     ${HTTP_NOT_FOUND}    /i/dont/exist/
 
+
 *** Keywords ***
 
 Execute Get And Check Response
@@ -26,5 +42,20 @@
     # expected_response_code   Expected REST status codes.
     # url_path                 URL path.
 
-    ${resp} =  Redfish Get Request  ${url_path}  response_format=${0}
+    ${resp} =  Redfish Get Request
+    ...  ${url_path}  xauth_token=${test_auth_token}  response_format=${0}
     Should Be Equal As Strings  ${resp.status_code}  ${expected_response_code}
+
+
+Test Setup Execution
+    [Documentation]  Do the test setup.
+
+    ${session_id}  ${auth_token} =  Redfish Login Request
+    Set Test Variable  ${test_session_id}  ${session_id}
+    Set Test Variable  ${test_auth_token}  ${auth_token}
+
+
+Test Teardown Execution
+    [Documentation]  Do the test teardown.
+
+    Redfish Delete Request  ${test_session_id}  ${test_auth_token}
