diff --git a/tests/test_error_log.robot b/tests/test_error_log.robot
new file mode 100644
index 0000000..02754b0
--- /dev/null
+++ b/tests/test_error_log.robot
@@ -0,0 +1,96 @@
+*** Settings ***
+Documentation       Test Error logging.
+
+Resource            ../lib/connection_client.robot
+Resource            ../lib/openbmc_ffdc.robot
+Resource            ../lib/utils.robot
+Resource            ../lib/state_manager.robot
+
+Suite Setup         Run Keywords  Verify logging-test  AND
+...                 Clear Existing Error Logs
+Test Setup          Open Connection And Log In
+Test Teardown       Close All Connections
+Suite Teardown      Clear Existing Error Logs
+
+*** Test Cases ***
+
+Create Test Error And Verify
+    [Documentation]  Create error logs and verify via REST.
+    [Tags]  Create_Test_Error_And_Verify
+
+    Create Test Error Log
+    Verify Test Error Log
+
+
+Test Error Persistency On Restart
+    [Documentation]  Restart logging service and verify error logs don't exist.
+    [Tags]  Test_Error_Persistency_On_Restart
+
+    Create Test Error Log
+    Verify Test Error Log
+    Execute Command On BMC
+    ...  systemctl restart xyz.openbmc_project.Logging.service
+    Sleep  10s  reason=Wait for logging service to restart properly.
+    ${resp}=  OpenBMC Get Request  ${BMC_LOGGING_ENTRY}${1}
+    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_NOT_FOUND}
+
+
+Test Error Persistency On Reboot
+    [Documentation]  Reboot BMC and verify error logs don't exist.
+    [Tags]  Test_Error_Persistency_On_Reboot
+
+    Create Test Error Log
+    Verify Test Error Log
+    Initiate BMC Reboot
+    Wait Until Keyword Succeeds  10 min  10 sec
+    ...  Is BMC Ready
+    ${resp}=  OpenBMC Get Request  ${BMC_LOGGING_ENTRY}${1}
+    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_NOT_FOUND}
+
+
+*** Keywords ***
+
+Verify logging-test
+    [Documentation]  Verify existence of prerequisite logging-test.
+
+    Open Connection And Log In
+    ${out}  ${stderr}=  Execute Command  which logging-test  return_stderr=True
+    Should Be Empty  ${stderr}
+    Should Contain  ${out}  logging-test
+
+Clear Existing Error Logs
+    [Documentation]  If error log isn't empty, reboot the BMC to clear the log.
+
+    ${resp}=  OpenBMC Get Request  ${BMC_LOGGING_ENTRY}${1}
+    Return From Keyword If  ${resp.status_code} == ${HTTP_NOT_FOUND}
+    Initiate BMC Reboot
+    Wait Until Keyword Succeeds  10 min  10 sec
+    ...  Is BMC Ready
+    ${resp}=  OpenBMC Get Request  ${BMC_LOGGING_ENTRY}${1}
+    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_NOT_FOUND}
+
+Create Test Error Log
+    [Documentation]  Generate test error log.
+
+    # Test error log entry example:
+    # "/xyz/openbmc_project/logging/entry/1":  {
+    #     "AdditionalData": [
+    #         "STRING=FOO"
+    #     ],
+    #     "Id": 1,
+    #     "Message": "example.xyz.openbmc_project.Example.Elog.AutoTestSimple",
+    #     "Severity": "xyz.openbmc_project.Logging.Entry.Level.Error",
+    #     "Timestamp": 1487743963328,
+    #     "associations": []
+    # }
+
+    Execute Command On BMC  logging-test -c AutoTestSimple
+
+Verify Test Error Log
+    [Documentation]  Verify test error log entries.
+    ${content}=  Read Attribute  ${BMC_LOGGING_ENTRY}${1}  Message
+    Should Be Equal  ${content}
+    ...  example.xyz.openbmc_project.Example.Elog.AutoTestSimple
+    ${content}=  Read Attribute  ${BMC_LOGGING_ENTRY}${1}  Severity
+    Should Be Equal  ${content}
+    ...  xyz.openbmc_project.Logging.Entry.Level.Error
