diff --git a/tests/dcaegen2-collectors-hv-ves/testcases/__init__.robot b/tests/dcaegen2-collectors-hv-ves/testcases/__init__.robot
index 54d3e1c..1ac9150 100644
--- a/tests/dcaegen2-collectors-hv-ves/testcases/__init__.robot
+++ b/tests/dcaegen2-collectors-hv-ves/testcases/__init__.robot
@@ -33,8 +33,8 @@
 
 Configure collector
     ${CONSUL_API_ACCESS}=   Get Consul Api Access Url   ${HTTP_METHOD_URL}   ${CONSUL_CONTAINER_HOST}   ${CONSUL_CONTAINER_PORT}
-    ${CONSUL_API_URL}=  Catenate   SEPARATOR=   ${CONSUL_API_ACCESS}   ${CONSUL_VES_HV_CONFIGURATION_KEY_PATH}
-    Publish HV VES Configuration In Consul    ${CONSUL_API_URL}   ${VES_HV_CONFIGURATION_JSON_FILEPATH}
+    ${CONSUL_API_URL}=  Catenate   SEPARATOR=   ${CONSUL_API_ACCESS}   ${CONSUL_HV_VES_CONFIGURATION_KEY_PATH}
+    Publish HV VES Configuration In Consul    ${CONSUL_API_URL}   ${HV_VES_CONFIGURATION_JSON_FILEPATH}
 
 Configure Dcae App
     ${DCAE_APP_API_ACCESS}=   Get Dcae App Api Access Url   ${HTTP_METHOD_URL}   ${DCAE_APP_CONTAINER_HOST}   ${DCAE_APP_CONTAINER_PORT}
@@ -58,7 +58,7 @@
 
 ${CONSUL_CONTAINER_HOST}                       consul-server
 ${CONSUL_CONTAINER_PORT}                       8500
-${CONSUL_VES_HV_CONFIGURATION_KEY_PATH}        /v1/kv/dcae-hv-ves-collector
+${CONSUL_HV_VES_CONFIGURATION_KEY_PATH}        /v1/kv/dcae-hv-ves-collector
 
 ${DCAE_APP_CONTAINER_HOST}                     dcae-app-simulator
 ${DCAE_APP_CONTAINER_PORT}                     6063
@@ -70,5 +70,5 @@
 
 ${ROUTED_MESSAGES_TOPIC}                       TEST_HV_VES_PERF3GPP
 
-${VES_HV_RESOURCES}                            %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources
-${VES_HV_CONFIGURATION_JSON_FILEPATH}          ${VES_HV_RESOURCES}/ves-hv-configuration.json
+${HV_VES_RESOURCES}                            %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources
+${HV_VES_CONFIGURATION_JSON_FILEPATH}          ${HV_VES_RESOURCES}/ves-hv-configuration.json
diff --git a/tests/dcaegen2-collectors-hv-ves/testcases/authorization.robot b/tests/dcaegen2-collectors-hv-ves/testcases/authorization.robot
index d5fc1e9..4d13a6b 100644
--- a/tests/dcaegen2-collectors-hv-ves/testcases/authorization.robot
+++ b/tests/dcaegen2-collectors-hv-ves/testcases/authorization.robot
@@ -72,9 +72,9 @@
 
 
 *** Variables ***
-${VES_HV_SCENARIOS}                            %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios
+${HV_VES_SCENARIOS}                            %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios
 
-${XNF_VALID_MESSAGES_REQUEST}                  ${VES_HV_SCENARIOS}/authorization/xnf-valid-messages-request.json
+${XNF_VALID_MESSAGES_REQUEST}                  ${HV_VES_SCENARIOS}/authorization/xnf-valid-messages-request.json
 
 ${AMOUNT_0}                                    0
 ${AMOUNT_5000}                                 5000
diff --git a/tests/dcaegen2-collectors-hv-ves/testcases/libraries/DcaeAppSimulatorLibrary.py b/tests/dcaegen2-collectors-hv-ves/testcases/libraries/DcaeAppSimulatorLibrary.py
index 3d811e4..dd41c6a 100644
--- a/tests/dcaegen2-collectors-hv-ves/testcases/libraries/DcaeAppSimulatorLibrary.py
+++ b/tests/dcaegen2-collectors-hv-ves/testcases/libraries/DcaeAppSimulatorLibrary.py
@@ -33,8 +33,8 @@
         resp = HttpRequests.session_without_env().get(app_url, timeout=10)
         HttpRequests.checkStatusCode(resp.status_code, DCAE_APP_NAME)
 
-        assert resp.content == expected_messages_amount, \
-            "Messages consumed by simulator: " + resp.content + " expecting: " + expected_messages_amount
+        assert int(resp.content) == int(expected_messages_amount), \
+            "Messages consumed by simulator: " + str(resp.content) + " expecting: " + str(expected_messages_amount)
 
     def assert_DCAE_app_consumed_less_equal_than(self, app_url, messages_threshold):
         logger.info("GET at: " + app_url)
@@ -45,8 +45,8 @@
                      " expecting more than 0 and less/equal than " + messages_threshold)
 
         assert 0 < int(resp.content) <= int(messages_threshold), \
-            "Messages consumed by simulator: " + resp.content + \
-            " expecting more than 0 and less/equal than " + messages_threshold
+            "Messages consumed by simulator: " + str(resp.content) + \
+            " expecting more than 0 and less/equal than " + str(messages_threshold)
 
     def reset_DCAE_app_simulator(self, app_url):
         logger.info("DELETE at: " + app_url)
diff --git a/tests/dcaegen2-collectors-hv-ves/testcases/libraries/XnfSimulatorLibrary.py b/tests/dcaegen2-collectors-hv-ves/testcases/libraries/XnfSimulatorLibrary.py
index 3f69f6a..789c0b6 100644
--- a/tests/dcaegen2-collectors-hv-ves/testcases/libraries/XnfSimulatorLibrary.py
+++ b/tests/dcaegen2-collectors-hv-ves/testcases/libraries/XnfSimulatorLibrary.py
@@ -22,15 +22,21 @@
 from robot.api import logger
 from time import sleep
 
+HV_VES_VERSION = os.getenv("HV_VES_VERSION")
+HV_VES_COLLECTOR_NETWORK = os.getenv("CONTAINERS_NETWORK")
+HV_VES_COLLECTOR_NAMESPACE = os.getenv("HV_VES_COLLECTOR_NAMESPACE")
+HV_VES_GROUP_ID = os.getenv("HV_VES_GROUP_ID")
+HV_VES_SERVICE_NAME = os.getenv("HV_VES_SERVICE_NAME")
+UNENCRYPTED_HV_VES_SERVICE_NAME = os.getenv("UNENCRYPTED_HV_VES_SERVICE_NAME")
+
 XNF_SIMULATOR_NAME = "xNF Simulator"
-HV_VES_COLLECTOR_NAMESPACE="onap"
-HV_VES_GROUP_ID="org.onap.dcaegen2.collectors.hv-ves"
+XNF_SIMULATOR_CONTAINER_PREFIX = os.getenv("XNF_SIMULATOR_IMAGE")
 SIMULATOR_IMAGE_NAME = HV_VES_COLLECTOR_NAMESPACE + "/" + HV_VES_GROUP_ID + ".hv-collector-xnf-simulator"
-HV_VES_VERSION="1.1-SNAPSHOT"
+
 SIMULATOR_IMAGE_FULL_NAME = os.getenv("DOCKER_REGISTRY_PREFIX") + SIMULATOR_IMAGE_NAME + ":" + HV_VES_VERSION
 WORKSPACE_ENV = os.getenv("WORKSPACE")
-certificates_dir_path = WORKSPACE_ENV + "/plans/dcaegen2-collectors-hv-ves/testsuites/collector/ssl/"
-collector_certs_lookup_dir = "/etc/ves-hv/"
+CERTIFICATES_DIR_PATH = WORKSPACE_ENV + "/plans/dcaegen2-collectors-hv-ves/testsuites/collector/ssl/"
+COLLECTOR_CERTS_LOOKUP_DIR = "/etc/ves-hv/"
 ONE_SECOND_IN_NANOS = 10 ** 9
 
 
@@ -88,13 +94,13 @@
                                            command=xNF_startup_command,
                                            healthcheck=xNF_healthcheck_command,
                                            detach=True,
-                                           network="ves-hv-default",
+                                           network=HV_VES_COLLECTOR_NETWORK,
                                            ports={port + "/tcp": port},
                                            volumes=self.container_volumes(),
-                                           name=xnf.container_name_prefix + port)
+                                           name=XNF_SIMULATOR_CONTAINER_PREFIX + port)
 
     def container_volumes(self):
-        return {certificates_dir_path: {"bind": collector_certs_lookup_dir, "mode": 'rw'}}
+        return {CERTIFICATES_DIR_PATH: {"bind": COLLECTOR_CERTS_LOOKUP_DIR, "mode": 'rw'}}
 
     def assert_containers_startup_was_successful(self, dockerClient):
         checks_amount = 6
@@ -119,7 +125,7 @@
             log_filename = WORKSPACE_ENV + "/archives/containers_logs/" + \
                            suite_name.split(".")[-1] + "_" + container.name + ".log"
             file = open(log_filename, "w+")
-            file.write(container.logs())
+            file.write(str(container.logs()))
             file.close()
             container.stop()
             container.remove()
@@ -141,7 +147,6 @@
 
 
 class XnfSimulator:
-    container_name_prefix = "ves-hv-collector-xnf-simulator"
 
     def __init__(self,
                  port,
@@ -151,13 +156,13 @@
         self.port = port
         self.healthcheck_server_port = "6063"
         cert_name_prefix = "" if should_use_valid_certs else "untrusted"
-        certificates_path_with_file_prefix = collector_certs_lookup_dir + cert_name_prefix
+        certificates_path_with_file_prefix = COLLECTOR_CERTS_LOOKUP_DIR + cert_name_prefix
         self.key_store_path = certificates_path_with_file_prefix + "client.p12"
         self.trust_store_path = certificates_path_with_file_prefix + "trust.p12"
         self.sec_store_passwd = "onaponap"
         self.disable_ssl = should_disable_ssl
-        self.hv_collector_host = "unencrypted-ves-hv-collector" \
-            if should_connect_to_unencrypted_hv_ves else "ves-hv-collector"
+        self.hv_collector_host = UNENCRYPTED_HV_VES_SERVICE_NAME \
+            if should_connect_to_unencrypted_hv_ves else HV_VES_SERVICE_NAME
 
     def get_startup_command(self):
         startup_command = ["--listen-port", self.port,
@@ -167,8 +172,7 @@
                            "--key-store", self.key_store_path,
                            "--trust-store", self.trust_store_path,
                            "--key-store-password", self.sec_store_passwd,
-                           "--trust-store-password", self.sec_store_passwd
-                           ]
+                           "--trust-store-password", self.sec_store_passwd]
         if self.disable_ssl:
             startup_command.append("--ssl-disable")
         return startup_command
diff --git a/tests/dcaegen2-collectors-hv-ves/testcases/message-routing.robot b/tests/dcaegen2-collectors-hv-ves/testcases/message-routing.robot
index 15c8ee8..2fab329 100644
--- a/tests/dcaegen2-collectors-hv-ves/testcases/message-routing.robot
+++ b/tests/dcaegen2-collectors-hv-ves/testcases/message-routing.robot
@@ -96,18 +96,18 @@
 
 ${XNF_SIM_API_PATH}                            /simulator/async
 
-${VES_HV_SCENARIOS}                            %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios
-${XNF_FIXED_PAYLOAD_REQUEST}                   ${VES_HV_SCENARIOS}/fixed-payload/xnf-fixed-payload-request.json
-${XNF_TOO_BIG_PAYLOAD_REQUEST}                 ${VES_HV_SCENARIOS}/too-big-payload/xnf-too-big-payload-request.json
-${XNF_INVALID_WIRE_FRAME_REQUEST}              ${VES_HV_SCENARIOS}/invalid-wire-frame/xnf-invalid-wire-frame-request.json
-${XNF_INVALID_GPB_DATA_REQUEST}                ${VES_HV_SCENARIOS}/invalid-gpb-data/xnf-invalid-gpb-data-request.json
-${XNF_UNSUPPORTED_DOMAIN_REQUEST}              ${VES_HV_SCENARIOS}/unsupported-domain/xnf-unsupported-domain-request.json
+${HV_VES_SCENARIOS}                            %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios
+${XNF_FIXED_PAYLOAD_REQUEST}                   ${HV_VES_SCENARIOS}/fixed-payload/xnf-fixed-payload-request.json
+${XNF_TOO_BIG_PAYLOAD_REQUEST}                 ${HV_VES_SCENARIOS}/too-big-payload/xnf-too-big-payload-request.json
+${XNF_INVALID_WIRE_FRAME_REQUEST}              ${HV_VES_SCENARIOS}/invalid-wire-frame/xnf-invalid-wire-frame-request.json
+${XNF_INVALID_GPB_DATA_REQUEST}                ${HV_VES_SCENARIOS}/invalid-gpb-data/xnf-invalid-gpb-data-request.json
+${XNF_UNSUPPORTED_DOMAIN_REQUEST}              ${HV_VES_SCENARIOS}/unsupported-domain/xnf-unsupported-domain-request.json
 
-${DCAE_FIXED_PAYLOAD_REQUEST}                  ${VES_HV_SCENARIOS}/fixed-payload/dcae-fixed-payload-request.json
-${DCAE_TOO_BIG_PAYLOAD_REQUEST}                ${VES_HV_SCENARIOS}/too-big-payload/dcae-too-big-payload-request.json
-${DCAE_INVALID_WIRE_FRAME_REQUEST}             ${VES_HV_SCENARIOS}/invalid-wire-frame/dcae-invalid-wire-frame-request.json
-${DCAE_INVALID_GPB_DATA_REQUEST}               ${VES_HV_SCENARIOS}/invalid-gpb-data/dcae-invalid-gpb-data-request.json
-${DCAE_UNSUPPORTED_DOMAIN_REQUEST}             ${VES_HV_SCENARIOS}/unsupported-domain/dcae-unsupported-domain-request.json
+${DCAE_FIXED_PAYLOAD_REQUEST}                  ${HV_VES_SCENARIOS}/fixed-payload/dcae-fixed-payload-request.json
+${DCAE_TOO_BIG_PAYLOAD_REQUEST}                ${HV_VES_SCENARIOS}/too-big-payload/dcae-too-big-payload-request.json
+${DCAE_INVALID_WIRE_FRAME_REQUEST}             ${HV_VES_SCENARIOS}/invalid-wire-frame/dcae-invalid-wire-frame-request.json
+${DCAE_INVALID_GPB_DATA_REQUEST}               ${HV_VES_SCENARIOS}/invalid-gpb-data/dcae-invalid-gpb-data-request.json
+${DCAE_UNSUPPORTED_DOMAIN_REQUEST}             ${HV_VES_SCENARIOS}/unsupported-domain/dcae-unsupported-domain-request.json
 
 ${AMOUNT_25000}                                25000
 ${AMOUNT_50000}                                50000
diff --git a/tests/dcaegen2-collectors-hv-ves/testcases/multiple-clients.robot b/tests/dcaegen2-collectors-hv-ves/testcases/multiple-clients.robot
index 09b62c7..735a208 100644
--- a/tests/dcaegen2-collectors-hv-ves/testcases/multiple-clients.robot
+++ b/tests/dcaegen2-collectors-hv-ves/testcases/multiple-clients.robot
@@ -45,9 +45,9 @@
 
 
 *** Variables ***
-${VES_HV_SCENARIOS}                            %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios
+${HV_VES_SCENARIOS}                            %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios
 
-${XNF_SMALLER_PAYLOAD_REQUEST}                 ${VES_HV_SCENARIOS}/multiple-simulators-payload/xnf-simulator-smaller-valid-request.json
-${DCAE_SMALLER_PAYLOAD_REQUEST}                ${VES_HV_SCENARIOS}/multiple-simulators-payload/dcae-smaller-valid-request.json
+${XNF_SMALLER_PAYLOAD_REQUEST}                 ${HV_VES_SCENARIOS}/multiple-simulators-payload/xnf-simulator-smaller-valid-request.json
+${DCAE_SMALLER_PAYLOAD_REQUEST}                ${HV_VES_SCENARIOS}/multiple-simulators-payload/dcae-smaller-valid-request.json
 
 ${AMOUNT_15000}                                15000
