diff --git a/lib/utils.robot b/lib/utils.robot
index fd52d78..b71eaa7 100755
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -954,6 +954,7 @@
     Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
 
 
+###############################################################################
 Get LED State XYZ
     [Documentation]  Returns state of given LED.
     [Arguments]  ${led_name}
@@ -964,6 +965,7 @@
     [Return]  ${state}
 
 
+###############################################################################
 Get BMC Version
     [Documentation]  Returns BMC version from /etc/os-release.
     ...              e.g. "v1.99.6-141-ge662190"
@@ -973,3 +975,14 @@
     ${output}=  Execute Command On BMC  ${cmd}
     [Return]  ${output}
 
+
+###############################################################################
+Get Elog URL List
+    [Documentation]  Return error log entry list of URLs.
+
+    ${url_list}=  Read Properties  /xyz/openbmc_project/logging/entry/
+    Sort List  ${url_list}
+    [Return]  ${url_list}
+
+
+###############################################################################
diff --git a/tests/test_association.robot b/tests/test_association.robot
index a2fe3da..6a5e3ed 100755
--- a/tests/test_association.robot
+++ b/tests/test_association.robot
@@ -7,9 +7,9 @@
 Resource            ../lib/state_manager.robot
 
 Suite Setup         Run Keywords  Verify callout-test  AND
-...                 Boot Host  AND
-...                 Clear Existing Error Logs
-Test Setup          Pre Test Case Execution
+...                 Boot Host
+Test Setup          Clear Existing Error Logs
+
 Test Teardown       Close All Connections
 Suite Teardown      Clear Existing Error Logs
 
@@ -25,6 +25,7 @@
     Create Test Error With Callout
     Verify Test Error Log And Callout
 
+
 Create Test Error Callout And Verify AdditionalData
     [Documentation]  Create Test Error Callout And Verify AdditionalData.
     [Tags]  Create_Test_Error_Callout_And_Verify_AdditionalData
@@ -38,11 +39,13 @@
     #    ]
 
     Create Test Error With Callout
-    ${resp}=  OpenBMC Get Request  ${BMC_LOGGING_ENTRY}${1}
+    ${elog_entry}=  Get Elog URL List
+    ${resp}=  OpenBMC Get Request  ${elog_entry[0]}
     ${jsondata}=  To JSON  ${resp.content}
     Should Contain  ${jsondata}["data"]["AdditionalData"]}  ${target_device_path}
     Should Contain  ${jsondata}["data"]["AdditionalData"]}  0x0DEADEAD
 
+
 Create Test Error Callout And Delete
     [Documentation]  Create Test Error Callout And Delete.
     [Tags]  Create_Test_Error_Callout_And_Delete
@@ -74,10 +77,12 @@
     # },
 
     Create Test Error With Callout
-    Delete Error Log Entry  ${BMC_LOGGING_ENTRY}${1}
-    ${resp}=  OpenBMC Get Request  ${BMC_LOGGING_ENTRY}${1}/callout
+    ${elog_entry}=  Get Elog URL List
+    Delete Error Log Entry  ${elog_entry[0]}
+    ${resp}=  OpenBMC Get Request  ${elog_entry[0]}/callout
     Should Be Equal As Strings  ${resp.status_code}  ${HTTP_NOT_FOUND}
 
+
 Create Two Test Error Callout And Delete
     [Documentation]  Create Two Test Error Callout And Delete.
     [Tags]  Create_Two_Test_Error_Callout_And_Delete
@@ -137,13 +142,14 @@
     Create Test Error With Callout
 
     # Delete entry/2 elog entry.
-    Delete Error Log Entry  ${BMC_LOGGING_ENTRY}${2}
+    ${elog_entry}=  Get Elog URL List
+    Delete Error Log Entry  ${elog_entry[1]}
 
     # Verify if entry/1 exist and entry/2 is deleted.
-    ${resp}=  OpenBMC Get Request  ${BMC_LOGGING_ENTRY}/list
-    ${jsondata}=  To JSON  ${resp.content}
-    Should Contain  ${jsondata["data"]}  ${BMC_LOGGING_ENTRY}${1}
-    Should Not Contain  ${jsondata["data"]}  ${BMC_LOGGING_ENTRY}${2}
+    ${resp}=  OpenBMC Get Request  ${elog_entry[0]}
+    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
+    ${resp}=  OpenBMC Get Request  ${elog_entry[1]}
+    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_NOT_FOUND}
 
 Create Test Error Callout And Verify LED
     [Documentation]  Create an error log callout and verify respective
@@ -158,12 +164,6 @@
 
 *** Keywords ***
 
-Pre Test Case Execution
-    [Documentation]  Do the initial test setup.
-
-    Open Connection And Log In
-    Delete Error logs
-
 Verify callout-test
     [Documentation]  Verify existence of prerequisite callout-test.
 
@@ -177,12 +177,8 @@
     ...              the BMC
 
     Open Connection And Log In
-    ${resp}=  OpenBMC Get Request  ${BMC_LOGGING_ENTRY}${1}
-    Return From Keyword If  ${resp.status_code} == ${HTTP_NOT_FOUND}
-    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}
+    Delete Error Logs
+    ${resp}=  OpenBMC Get Request  /xyz/openbmc_project/logging/entry/
     Should Be Equal As Strings  ${resp.status_code}  ${HTTP_NOT_FOUND}
 
 Create Test Error With Callout
@@ -219,13 +215,17 @@
 
 Verify Test Error Log And Callout
     [Documentation]  Verify test error log entries.
-    ${content}=  Read Attribute  ${BMC_LOGGING_ENTRY}${1}  Message
-    Should Be Equal  ${content}
+    ${elog_entry}=  Get Elog URL List
+    ${resp}=  OpenBMC Get Request  ${elog_entry[0]}
+    ${json}=  To JSON  ${resp.content}
+
+    Should Be Equal  ${json["data"]["Message"]}
     ...  example.xyz.openbmc_project.Example.Elog.TestCallout
-    ${content}=  Read Attribute  ${BMC_LOGGING_ENTRY}${1}  Severity
-    Should Be Equal  ${content}
+
+    Should Be Equal  ${json["data"]["Severity"]}
     ...  xyz.openbmc_project.Logging.Entry.Level.Error
-    ${content}=  Read Attribute  ${BMC_LOGGING_ENTRY}${1}/callout  endpoints
+
+    ${content}=  Read Attribute  ${elog_entry[0]}/callout  endpoints
     Should Be Equal  ${content[0]}
     ...  /xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0
 
