diff --git a/TestON/drivers/common/cli/quaggaclidriver.py b/TestON/drivers/common/cli/quaggaclidriver.py
index 779472d..acb0831 100644
--- a/TestON/drivers/common/cli/quaggaclidriver.py
+++ b/TestON/drivers/common/cli/quaggaclidriver.py
@@ -300,8 +300,7 @@
         return main.FALSE
 
     def ping_test(self, ip_address, ping_test_file, ping_test_result_file):
-        main.log.info("I am in ping_test method!")
-
+        main.log.info("Start the ping test on host:" + str(ip_address))
 
         self.name = self.options['name']
         self.handle = super(QuaggaCliDriver, self).connect(
diff --git a/TestON/tests/SdnIpTest/SdnIpTest.py b/TestON/tests/SdnIpTest/SdnIpTest.py
index 1e5e520..acd9b0f 100755
--- a/TestON/tests/SdnIpTest/SdnIpTest.py
+++ b/TestON/tests/SdnIpTest/SdnIpTest.py
@@ -149,7 +149,9 @@
         #============================= Ping Test ========================
         # wait until all MultiPointToSinglePoint
         time.sleep(20)
-        ping_test_results = main.QuaggaCliHost.ping_test("1.168.30.100", "~/SDNIP/SdnIpIntentDemo/CASE1-ping-as2host.sh", "~/SDNIP/SdnIpIntentDemo/CASE1-ping-results-before-delete-routes-" + strftime("%Y-%m-%d-%H:%M:%S", gmtime()) + ".txt")
+        ping_test_script = "~/SDNIP/SdnIpIntentDemo/CASE1-ping-as2host.sh"
+        ping_test_results_file = "~/SDNIP/SdnIpIntentDemo/CASE1-ping-results-before-delete-routes-" + strftime("%Y-%m-%d-%H:%M:%S", gmtime()) + ".txt"
+        ping_test_results = main.QuaggaCliHost.ping_test("1.168.30.100", ping_test_script, ping_test_results_file)
         main.log.info(ping_test_results)
 
         # ping test
@@ -182,7 +184,9 @@
 
 
         time.sleep(20)
-        ping_test_results = main.QuaggaCliHost.ping_test("1.168.30.100", "~/SDNIP/SdnIpIntentDemo/CASE1-ping-as2host.sh", "~/SDNIP/SdnIpIntentDemo/CASE1-ping-results-after-delete-routes-" + strftime("%Y-%m-%d-%H:%M:%S", gmtime()) + ".txt")
+        ping_test_script = "~/SDNIP/SdnIpIntentDemo/CASE1-ping-as2host.sh"
+        ping_test_results_file = "~/SDNIP/SdnIpIntentDemo/CASE1-ping-results-after-delete-routes-" + strftime("%Y-%m-%d-%H:%M:%S", gmtime()) + ".txt"
+        ping_test_results = main.QuaggaCliHost.ping_test("1.168.30.100", ping_test_script, ping_test_results_file)
         main.log.info(ping_test_results)
 
         # main.step("Test whether Mininet is started")
