diff --git a/robot-systest/resources/sa_01-vnf_with_vim_metrics_data.py b/robot-systest/resources/sa_01-vnf_with_vim_metrics_data.py
new file mode 100644
index 0000000..86026f8
--- /dev/null
+++ b/robot-systest/resources/sa_01-vnf_with_vim_metrics_data.py
@@ -0,0 +1,39 @@
+#   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.
+
+from pathlib import Path
+import os
+
+# Prometheus host and port
+if os.environ.get('PROMETHEUS_HOSTNAME', False):
+    prometheus_host = os.environ.get('PROMETHEUS_HOSTNAME')
+    prometheus_port = '9090'
+else:
+    prometheus_host = os.environ.get('OSM_HOSTNAME')
+    prometheus_port = '9091'
+
+# Prometheus metrics to retrieve
+metric_1_name = 'osm_cpu_utilization'
+metric_2_name = 'osm_average_memory_utilization'
+# Get ${HOME} from local machine
+home = str(Path.home())
+# NS and VNF descriptor package folder
+vnfd_pkg = 'hackfest_basic_metrics_vnf'
+nsd_pkg = 'hackfest_basic_metrics_ns'
+# NS and VNF descriptor id
+vnfd_name = 'hackfest_basic_metrics-vnf'
+nsd_name = 'hackfest_basic-ns-metrics'
+# NS instance name
+ns_name = 'sa_01-vnf_with_vim_metrics_test'
+# SSH keys to be used
+publickey = home + '/.ssh/id_rsa.pub'
+privatekey = home + '/.ssh/id_rsa'
diff --git a/robot-systest/testsuite/sa_01-vnf_with_vim_metrics.robot b/robot-systest/testsuite/sa_01-vnf_with_vim_metrics.robot
new file mode 100644
index 0000000..b51c209
--- /dev/null
+++ b/robot-systest/testsuite/sa_01-vnf_with_vim_metrics.robot
@@ -0,0 +1,96 @@
+#   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.
+
+*** Settings ***
+Documentation     [SA-01] VNF with VIM-based metrics.
+
+Library   OperatingSystem
+Library   String
+Library   Collections
+
+Resource   %{ROBOT_DEVOPS_FOLDER}/lib/vnfd_lib.robot
+Resource   %{ROBOT_DEVOPS_FOLDER}/lib/nsd_lib.robot
+Resource   %{ROBOT_DEVOPS_FOLDER}/lib/ns_lib.robot
+Resource   %{ROBOT_DEVOPS_FOLDER}/lib/ssh_lib.robot
+Resource   %{ROBOT_DEVOPS_FOLDER}/lib/prometheus_lib.robot
+
+Variables   %{ROBOT_DEVOPS_FOLDER}/resources/sa_01-vnf_with_vim_metrics_data.py
+
+Suite Teardown   Run Keyword And Ignore Error   Test Cleanup
+
+
+*** Variables ***
+${ns_config}   {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] }
+
+
+*** Test Cases ***
+Create VNF Descriptor
+    [Tags]   vnf_vim_metrics   sanity   regression
+
+    Create VNFD  '%{PACKAGES_FOLDER}/${vnfd_pkg}'
+
+
+Create NS Descriptor
+    [Tags]   vnf_vim_metrics   sanity   regression
+
+    Create NSD  '%{PACKAGES_FOLDER}/${nsd_pkg}'
+
+
+Instantiate Network Service
+    [Tags]   vnf_vim_metrics   sanity   regression
+
+    ${id}=  Create Network Service  ${nsd_name}  %{VIM_TARGET}  ${ns_name}  ${ns_config}  ${publickey}
+    Set Suite Variable  ${ns_id}  ${id}
+
+
+Get VNF VIM-based Metrics
+    [Tags]   vnf_vim_metrics   sanity   regression
+
+    Variable Should Exist  ${prometheus_host}  msg=Prometheus address is not available
+    Variable Should Exist  ${prometheus_port}  msg=Prometheus port is not available
+    Variable Should Exist  ${metric_1_name}  msg=Prometheus first metric name is not available
+    Variable Should Exist  ${metric_2_name}  msg=Prometheus second metric name is not available
+    ${metric_1_value}=  Wait Until Keyword Succeeds  6 times  2 minutes  Get Metric  ${prometheus_host}  ${prometheus_port}  ${metric_1_name}
+    Run Keyword Unless  ${metric_1_value} > 0  Fail  msg=The metric '${metric_1_name}' value is '${metric_1_value}'
+    ${metric_2_value}=  Wait Until Keyword Succeeds  6 times  2 minutes  Get Metric  ${prometheus_host}  ${prometheus_port}  ${metric_2_name}
+    Run Keyword Unless  ${metric_2_value} > 0  Fail  msg=The metric '${metric_2_name}' value is '${metric_2_value}'
+
+
+Delete NS Instance
+    [Tags]   vnf_vim_metrics   sanity   regression  cleanup
+
+    Delete NS  ${ns_name}
+
+
+Delete NS Descriptor
+    [Tags]   vnf_vim_metrics   sanity   regression  cleanup
+
+    Delete NSD  ${nsd_name}
+
+
+Delete VNF Descriptor
+    [Tags]   vnf_vim_metrics   sanity   regression  cleanup
+
+    Delete VNFD  ${vnfd_name}
+
+
+*** Keywords ***
+Test Cleanup
+    [Documentation]  Test Suite Cleanup: Deleting descriptors and NS instance
+
+    Run Keyword If Test Failed  Delete NS  ${ns_name}
+
+    Run Keyword If Test Failed  Delete NSD  ${nsd_name}
+
+    Run Keyword If Test Failed  Delete VNFD  ${vnfd_name}
+
+
