diff --git a/testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx b/testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx
index 0cae77a..e74c063 100644
--- a/testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx
+++ b/testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx
@@ -79,22 +79,22 @@
           </elementProp>
           <elementProp name="PAP_PORT" elementType="Argument">
             <stringProp name="Argument.name">PAP_PORT</stringProp>
-            <stringProp name="Argument.value">${__P(PAP_PORT,30442)}</stringProp>
+            <stringProp name="Argument.value">${__P(PAP_PORT,30003)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="API_PORT" elementType="Argument">
             <stringProp name="Argument.name">API_PORT</stringProp>
-            <stringProp name="Argument.value">${__P(API_PORT,30240)}</stringProp>
+            <stringProp name="Argument.value">${__P(API_PORT,30002)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="APEX_PORT" elementType="Argument">
             <stringProp name="Argument.name">APEX_PORT</stringProp>
-            <stringProp name="Argument.value">${__P(APEX_PORT,30237)}</stringProp>
+            <stringProp name="Argument.value">${__P(APEX_PORT,30001)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="DMAAP_PORT" elementType="Argument">
             <stringProp name="Argument.name">DMAAP_PORT</stringProp>
-            <stringProp name="Argument.value">${__P(DMAAP_PORT,31054)}</stringProp>
+            <stringProp name="Argument.value">${__P(DMAAP_PORT,30904)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="CDS_PORT" elementType="Argument">
@@ -104,17 +104,17 @@
           </elementProp>
           <elementProp name="HOSTNAME" elementType="Argument">
             <stringProp name="Argument.name">HOSTNAME</stringProp>
-            <stringProp name="Argument.value">${__P(HOSTNAME,172.16.1.39)}</stringProp>
+            <stringProp name="Argument.value">${__P(HOSTNAME,localhost)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="LOG_PATH" elementType="Argument">
             <stringProp name="Argument.name">LOG_PATH</stringProp>
-            <stringProp name="Argument.value">${__P(LOG_PATH,/home/dhanrahan/jmeter_results/apex_stability)}</stringProp>
+            <stringProp name="Argument.value">${__P(LOG_PATH,/jmeter_results/apex_stability)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="SIM_HOST" elementType="Argument">
             <stringProp name="Argument.name">SIM_HOST</stringProp>
-            <stringProp name="Argument.value">${__P(SIM_HOST,172.16.2.220)}</stringProp>
+            <stringProp name="Argument.value">${__P(SIM_HOST,localhost)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
         </collectionProp>
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/apexPdpPerformanceTestPlan.jmx b/testsuites/performance/performance-benchmark-test/src/main/resources/apexPdpPerformanceTestPlan.jmx
index 8c64ff9..f3ac159 100644
--- a/testsuites/performance/performance-benchmark-test/src/main/resources/apexPdpPerformanceTestPlan.jmx
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/apexPdpPerformanceTestPlan.jmx
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4.3">
   <hashTree>
-    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="APEX PDP STABILITY TEST PLAN" enabled="true">
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="APEX PDP PERFORMANCE TEST PLAN" enabled="true">
       <stringProp name="TestPlan.comments"></stringProp>
       <boolProp name="TestPlan.functional_mode">false</boolProp>
       <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
@@ -59,22 +59,22 @@
           </elementProp>
           <elementProp name="PAP_PORT" elementType="Argument">
             <stringProp name="Argument.name">PAP_PORT</stringProp>
-            <stringProp name="Argument.value">${__P(PAP_PORT,30442)}</stringProp>
+            <stringProp name="Argument.value">${__P(PAP_PORT,30003)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="API_PORT" elementType="Argument">
             <stringProp name="Argument.name">API_PORT</stringProp>
-            <stringProp name="Argument.value">${__P(API_PORT,30240)}</stringProp>
+            <stringProp name="Argument.value">${__P(API_PORT,30002)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="APEX_PORT" elementType="Argument">
             <stringProp name="Argument.name">APEX_PORT</stringProp>
-            <stringProp name="Argument.value">${__P(APEX_PORT,30237)}</stringProp>
+            <stringProp name="Argument.value">${__P(APEX_PORT,30001)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="DMAAP_PORT" elementType="Argument">
             <stringProp name="Argument.name">DMAAP_PORT</stringProp>
-            <stringProp name="Argument.value">${__P(DMAAP_PORT,31054)}</stringProp>
+            <stringProp name="Argument.value">${__P(DMAAP_PORT,30904)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="CDS_PORT" elementType="Argument">
@@ -84,17 +84,17 @@
           </elementProp>
           <elementProp name="HOSTNAME" elementType="Argument">
             <stringProp name="Argument.name">HOSTNAME</stringProp>
-            <stringProp name="Argument.value">${__P(HOSTNAME,172.16.1.39)}</stringProp>
+            <stringProp name="Argument.value">${__P(HOSTNAME,localhost)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="LOG_PATH" elementType="Argument">
             <stringProp name="Argument.name">LOG_PATH</stringProp>
-            <stringProp name="Argument.value">${__P(LOG_PATH,/home/dhanrahan/jmeter_results/apex_perf)}</stringProp>
+            <stringProp name="Argument.value">${__P(LOG_PATH,/jmeter_results/apex_perf)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="SIM_HOST" elementType="Argument">
             <stringProp name="Argument.name">SIM_HOST</stringProp>
-            <stringProp name="Argument.value">${__P(SIM_HOST,172.16.2.220)}</stringProp>
+            <stringProp name="Argument.value">${__P(SIM_HOST,localhost)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
         </collectionProp>
diff --git a/testsuites/run-s3p-test.sh b/testsuites/run-s3p-test.sh
new file mode 100755
index 0000000..b654c14
--- /dev/null
+++ b/testsuites/run-s3p-test.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2023 Nordix Foundation. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+#===MAIN===#
+if [ -z "${WORKSPACE}" ]; then
+    export WORKSPACE=$(git rev-parse --show-toplevel)
+fi
+
+export TESTDIR=${WORKSPACE}/testsuites
+export APEX_PERF_TEST_FILE=$TESTDIR/performance/performance-benchmark-test/src/main/resources/apexPdpPerformanceTestPlan.jmx
+export APEX_STAB_TEST_FILE=$TESTDIR/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx
+
+if [ $1 == "run" ]
+then
+
+  mkdir automate-performance;cd automate-performance;
+  git clone "https://gerrit.onap.org/r/policy/docker"
+  cd docker/csit
+
+  if [ $2 == "performance" ]
+  then
+    bash start-s3p-tests.sh run $APEX_PERF_TEST_FILE;
+  elif [ $2 == "stability" ]
+  then
+    bash start-s3p-tests.sh run $APEX_STAB_TEST_FILE;
+  else
+    echo "echo Invalid arguments provided. Usage: $0 [option..] {performance | stability}"
+  fi
+
+else
+  echo "Invalid arguments provided. Usage: $0 [option..] {run | uninstall}"
+fi
+
