diff --git a/SOL002/VNFIndicator-API/Subscriptions.robot b/SOL002/VNFIndicator-API/Subscriptions.robot
index 51353f6332eb74e9bd498096996519c860db59f7..323810ca31020d0d7a59bd50778880bd50870230 100644
--- a/SOL002/VNFIndicator-API/Subscriptions.robot
+++ b/SOL002/VNFIndicator-API/Subscriptions.robot
@@ -220,9 +220,9 @@ Check Postcondition VNF Indicator Subscription Is Set
     
 Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter
     Log    Check Response includes VNF Indicators according to filter
-    Should Be Equal As Strings    ${response[0]['body']['callbackUri']}    ${POS_FILTER['callbackUri']}
-
-
+    @{words} =  Split String    ${POS_FILTER}       ,${SEPERATOR} 
+    Should Be Equal As Strings    ${response['body'][0]['callbackUri']}    @{words}[1]
+    
 Create Sessions
     Pass Execution If    ${VNFM_CHECKS_NOTIF_ENDPOINT} == 0   MockServer not necessary to run    
     Start Process  java  -jar  ${MOCK_SERVER_JAR}    -serverPort  ${callback_port}  alias=mockInstance
diff --git a/SOL002/VNFIndicator-API/VNFIndicators.robot b/SOL002/VNFIndicator-API/VNFIndicators.robot
index 3af5adf1e94482e5875face22a5875747a80831f..9673162582c25d1c1f7cf1f21a7ff33b26012b49 100644
--- a/SOL002/VNFIndicator-API/VNFIndicators.robot
+++ b/SOL002/VNFIndicator-API/VNFIndicators.robot
@@ -269,5 +269,7 @@ Check Postcondition VNF Indicators Exist
     
 Check HTTP Response Body vnfIndicators Matches the requested attribute-based filter
     Log    Check Response includes VNF Indicators according to filter
-    Should Be True     "${response[0]['body']['name']}"=="${POS_FILTER['name']}" and "${response[0]['body']['vnfInstanceId']}"=="${POS_FILTER['vnfInstanceId']}"
-    
\ No newline at end of file
+    @{attr} =  Split String    ${POS_FILTER}       ,${VAR_SEPERATOR} 
+    @{var_name} = Split String    @{attr}[0]       ,${SEPERATOR}
+    @{var_id} = Split String    @{attr}[1]       ,${SEPERATOR}
+    Should Be True     "${response['body'][0]['name']}"=="@{var_name}[1]" and "${response['body'][0]['vnfInstanceId']}"=="@{var_id}[1]"
\ No newline at end of file
diff --git a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot
index 79a4b97cb72fc9b22e218984a1b7608fd0580709..00bbffa1d8b7535e64311b714708a082fb681040 100644
--- a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot
+++ b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot
@@ -200,7 +200,8 @@ Check HTTP Response Body Includes Requested VNF Instance ID
     
 Check HTTP Response Body Matches Attribute-Based Filter
     Log    Check Response includes VNF Indicators according to filter
-    Should Be Equal As Strings    ${response[0]['body']['name']}    ${POS_FIELDS['name']}
+    @{words} =  Split String    ${POS_FIELDS}       ,${SEPERATOR} 
+    Should Be Equal As Strings    ${response['body'][0]['name']}    @{words}[1]
 
 Check Postcondition Indicators for VNF instance Exist
     Log    Check Postcondition Indicators for VNF instance Exist
diff --git a/SOL002/VNFIndicator-API/environment/subscriptions.txt b/SOL002/VNFIndicator-API/environment/subscriptions.txt
index 401b374f6fa4c64f5dbac76b67ed2a7d5f3741d1..ec4b63ac0b029a4352bd6e32d35b625436fed83b 100644
--- a/SOL002/VNFIndicator-API/environment/subscriptions.txt
+++ b/SOL002/VNFIndicator-API/environment/subscriptions.txt
@@ -7,3 +7,4 @@ ${NEG_FILTER}     callback=http://127.0.0.1/subscribe
 ${response}=    httpresponse
 ${total_polling_time}   2 min
 ${polling_interval}     10 sec
+${SEPERATOR}      =
\ No newline at end of file
diff --git a/SOL002/VNFIndicator-API/environment/vnfIndicatorinVnfInstance.txt b/SOL002/VNFIndicator-API/environment/vnfIndicatorinVnfInstance.txt
index 4ebe5488206a095bcb99595e51e9c2f1450b3ac3..8651dee3da6c2b3a4eabfa69879dee2659db881e 100644
--- a/SOL002/VNFIndicator-API/environment/vnfIndicatorinVnfInstance.txt
+++ b/SOL002/VNFIndicator-API/environment/vnfIndicatorinVnfInstance.txt
@@ -4,3 +4,4 @@ ${erroneousVnfInstanceId}    erroneousVnfInstanceId
 ${POS_FIELDS}     name=vnfIndicator
 ${NEG_FIELDS}     wrongName=any_value
 ${response}=    httpresponse
+${SEPERATOR}      =
\ No newline at end of file
diff --git a/SOL002/VNFIndicator-API/environment/vnfIndicators.txt b/SOL002/VNFIndicator-API/environment/vnfIndicators.txt
index 8b1a56f48622c75784aabf684a9bbd76a807e97e..3613a9997b531b166f0d33ab44a21f50d61ece57 100644
--- a/SOL002/VNFIndicator-API/environment/vnfIndicators.txt
+++ b/SOL002/VNFIndicator-API/environment/vnfIndicators.txt
@@ -3,3 +3,5 @@ ${POS_FIELDS}     name=vnfIndicator&vnfInstanceId=80b0deba-c398-445b-bef0-ac0fe7
 ${NEG_FIELDS}     wrongName=wrongValue
 ${response}       some_response_object
 ${vnfIndicators}  
+${SEPERATOR}      =
+${VAR_SEPERATOR}    &
\ No newline at end of file
diff --git a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot
index 343e4161322abe571bf4a329a96f77cf633f37cb..c5fe1272a10d303582b03ba16e434cd73da9448c 100644
--- a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot
+++ b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot
@@ -61,7 +61,7 @@ GET Subscriptions
 GET Subscription - Filter
     [Documentation]    Test ID: 6.3.5.17.5
     ...    Test title: GET Subscriptions - Filter
-    ...    Test objective: The objective is Get the list of active subscriptions using a filter
+    ...    Test objective: The objective is Get the list of active subscriptions using a "filter"
     ...    Pre-conditions: none
     ...    Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1
     ...    Config ID: Config_prod_VE
diff --git a/SOL002/VNFPerformanceManagement-API/PMJobs.robot b/SOL002/VNFPerformanceManagement-API/PMJobs.robot
index 4446a1f7394a07fd20f7c330f525ba48b5b3bad1..b9c9991b5655deb3cc14eb2d6acec57271e8fa7d 100644
--- a/SOL002/VNFPerformanceManagement-API/PMJobs.robot
+++ b/SOL002/VNFPerformanceManagement-API/PMJobs.robot
@@ -324,7 +324,8 @@ Check HTTP Response Body Matches all_fields selector
     
 Check HTTP Response Body Matches filter
     Log    Checking that attribute-based filter is matched
-    Should Be Equal As Strings    ${response[0]['body']['objectInstanceIds']}    ${POS_FILTER['objectInstanceIds']}
+    @{words} =  Split String    ${POS_FILTER}       ,${SEPERATOR} 
+    Should Be Equal As Strings    ${response['body'][0]['objectInstanceIds']}    @{words}[1]
 
 Check HTTP Response Body Does Not Contain reports
     Log    Checking that field element is missing
diff --git a/SOL002/VNFPerformanceManagement-API/Thresholds.robot b/SOL002/VNFPerformanceManagement-API/Thresholds.robot
index c0a67c9036d37b4be6c4e2b564052cf8c88913a8..606c0bb617a4935b0326b46cf75bfb9729e2634e 100644
--- a/SOL002/VNFPerformanceManagement-API/Thresholds.robot
+++ b/SOL002/VNFPerformanceManagement-API/Thresholds.robot
@@ -195,7 +195,8 @@ Check Postcondition Threshold Exists
         
 Check HTTP Response Body Thresholds match the requested attribute-based filter
     Log    Checking that attribute-based filter is matched
-    Should Be Equal As Strings    ${response[0]['body']['objectInstanceId']}    ${FILTER_OK['objectInstanceId']}
+    @{words} =  Split String    ${FILTER_OK}       ,${SEPERATOR} 
+    Should Be Equal As Strings    ${response['body'][0]['objectInstanceId']}    @{words}[1]
     
 Check HTTP Response Status Code Is
     [Arguments]    ${expected_status}
diff --git a/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot b/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot
index ad37a2c9d10077f20a5abb6de0f9df8e5dbea107..47eec5aa560d4766b9783700db5f7c8179cfac4d 100644
--- a/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot
+++ b/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot
@@ -283,7 +283,7 @@ Check HTTP Response Body Is Empty
 
 Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter
     Log    Check Response includes VNF Performance Management according to filter
-    Should Be Equal As Strings    ${response[0]['body']['callbackUri']}    ${callbackUri}
+    Should Be Equal As Strings    ${response['body'][0]['callbackUri']}    ${callbackUri_Sub}
 
 Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription
     Log    Check Response matches subscription
diff --git a/SOL002/VNFPerformanceManagement-API/environment/pmJobs.txt b/SOL002/VNFPerformanceManagement-API/environment/pmJobs.txt
index 6c80ca057499a74c077810d9de9722499d85c3c8..f1675679ea49b7e4deb60fa76129a081f6390f25 100644
--- a/SOL002/VNFPerformanceManagement-API/environment/pmJobs.txt
+++ b/SOL002/VNFPerformanceManagement-API/environment/pmJobs.txt
@@ -3,3 +3,4 @@ ${POS_FILTER}     objectInstanceIds=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a
 ${NEG_FILTER}     criteriaPmJob=erroneousAttributeName
 ${fields}         criteria,reports
 ${response}=    httpresponse
+${SEPERATOR}      =
\ No newline at end of file
diff --git a/SOL002/VNFPerformanceManagement-API/environment/subscriptions.txt b/SOL002/VNFPerformanceManagement-API/environment/subscriptions.txt
index a450bb1b838870598edd7feee1a936c71c5c59f7..c490457435c0921e84a9db9f27ceab2a016c3a82 100644
--- a/SOL002/VNFPerformanceManagement-API/environment/subscriptions.txt
+++ b/SOL002/VNFPerformanceManagement-API/environment/subscriptions.txt
@@ -1,6 +1,6 @@
 *** Variables ***
-${callbackUri}    http://172.22.1.7:9091/vnfpm/subscriptions
-${filter_ok}      callbackUri=${callbackUri}
+${callbackUri_Sub}    http://172.22.1.7:9091/vnfpm/subscriptions
+${filter_ok}      callbackUri=${callbackUri_Sub}
 ${filter_ko}      erroneousFilter=erroneous
 ${total_polling_time}   2 min
 ${polling_interval}     10 sec
diff --git a/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt b/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt
index 256e2c90969b038dff04c8f775ff30e45d6aa5fb..b044c053e51e52eb43e06a93fedc37982fc1632c 100644
--- a/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt
+++ b/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt
@@ -2,3 +2,4 @@
 ${FILTER_OK}      objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a
 ${FILTER_KO}      criterias=erroneousFilter
 ${response}=    httpresponse
+${SEPERATOR}      =
\ No newline at end of file
diff --git a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot
index 2a03540472f5171aec48cec9a340101eb0ed7832..05c29e0bcffc8939314840ad24dd61ad4811402a 100644
--- a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot
+++ b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot
@@ -12,7 +12,7 @@ Library    Process
 ${original_etag}    1234
 
 *** Keywords ***
-Check created Subscription existance
+Check created Subscription existence
     ${subscriptionId} = ${response['body']['id']}
     Set Headers    {"Accept":"${ACCEPT}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
diff --git a/SOL003/VNFFaultManagement-API/Subscriptions.robot b/SOL003/VNFFaultManagement-API/Subscriptions.robot
index 2755aaf83a664e044279a49ec5a1c7f52016335c..67b733ecbe3a6bfe516eb3e54bf5af986ba35118 100644
--- a/SOL003/VNFFaultManagement-API/Subscriptions.robot
+++ b/SOL003/VNFFaultManagement-API/Subscriptions.robot
@@ -21,7 +21,7 @@ Create a new Fault Management alarm subscription
     Check HTTP Response Status Code Is    201
     Check Operation Occurrence Id
     Check HTTP Response Body Json Schema Is  FmSubscription
-    Check created Subscription existance 
+    Check created Subscription existence 
   
 
 Create a new alarm subscription - DUPLICATION
diff --git a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot
index 4b1e77587152785d8eab0ff9f1c32f472ab68fdb..6a5d23a110e8b3745c1f5ceb41dddb39554b8fd0 100644
--- a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot
+++ b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot
@@ -329,8 +329,11 @@ Check Postcondition VNF Indicators Exist
     
 Check HTTP Response Body vnfIndicators Matches the requested attribute-based filter
     Log    Check Response includes VNF Indicators according to filter
-    Should Be True     "${response[0]['body']['name']}"=="${POS_FIELDS['name']}" and "${response[0]['body']['vnfInstanceId']}"=="${POS_FIELDS['vnfInstanceId']}"
-
+    @{attr} =  Split String    ${POS_FIELDS}       ,${VAR_SEPERATOR} 
+    @{var_name} = Split String    @{attr}[0]       ,${SEPERATOR}
+    @{var_id} = Split String    @{attr}[1]       ,${SEPERATOR}
+    Should Be True     "${response['body'][0]['name']}"=="@{var_name}[1]" and "${response['body'][0]['vnfInstanceId']}"=="@{var_id}[1]"
+    
 Get all indicators for a VNF instance
     Log    This resource represents VNF indicators related to a VNF instance.
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
diff --git a/SOL003/VNFIndicator-API/environment/vnfIndicators.txt b/SOL003/VNFIndicator-API/environment/vnfIndicators.txt
index 626c660fc5b9dd569defc9b30a3863f63b180b4c..b4ca7ceaa9fcad5846b482cff770f9dd4ae190d4 100644
--- a/SOL003/VNFIndicator-API/environment/vnfIndicators.txt
+++ b/SOL003/VNFIndicator-API/environment/vnfIndicators.txt
@@ -1,3 +1,5 @@
 *** Variables ***
 ${POS_FIELDS}     name=vnfIndicator&vnfInstanceId=80b0deba-c398-445b-bef0-ac0fe733e3d0
 ${NEG_FIELDS}     wrongName=wrongValue
+${SEPERATOR}      =
+${VAR_SEPERATOR}    &
\ No newline at end of file
diff --git a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot
index 9af273e239ed2402dee62bf310133ba1cc78b9eb..8074476aa738c9d4611dd58e5085184199f3ac71 100644
--- a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot
+++ b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot
@@ -66,7 +66,7 @@ PATCH Individual VNFInstance
 PATCH Individual VNFInstance Precondition failed
      [Documentation]    Test ID: 7.3.1.2.5
     ...    Test title: PATCH Individual VNFInstance Precondition failed
-    ...    Test objective: The objective is to create a new VNF instance resource
+    ...    Test objective: The objective is to test that PATCH method is not allowed to modify VNF Instance because pre-condition failed
     ...    Pre-conditions:  VNF Instance is already created (Test ID 7.3.1.2.2)
     ...    Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1
     ...    Config ID: Config_prod_VNFM
diff --git a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot
index ce939f4a348eebe46a1c1fbcc43aed5648634308..2411b8b8bfd53797d801d89fde8d0e68034618d7 100644
--- a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot
+++ b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot
@@ -54,7 +54,10 @@ GET VNF Packages with attribute-based filter
 
 Check HTTP Response Body VnfPkgsInfo Matches the requested Attribute-Based Filter
     Log    Checking that attribute-based filter is matched
-    Should Be True     "${response[0]['body']['vnfdId']}"=="${POS_FILTER['vnfdId']}" and "${response[0]['body']['vnfProvider']}"=="${POS_FILTER['vnfProvider']}" 
+    @{attr} =  Split String    ${POS_FILTER}       ,${VAR_SEPERATOR} 
+    @{var_id} = Split String    @{attr}[0]       ,${SEPERATOR}
+    @{var_provider} = Split String    @{attr}[1]       ,${SEPERATOR}
+    Should Be True     "${response['body'][0]['vnfdId']}"=="@{var_id}[1]" and "${response['body'][0]['vnfProvider']}"=="@{var_provider}[1]"
 
 GET VNF Packages with invalid attribute-based filter
     Log    Trying to perform a negative get, filtering by the inexistent filter 'nfvId'
@@ -631,8 +634,8 @@ Check HTTP Response Body Is Empty
 
 Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter
     Log    Check Response includes VNF Package Management according to filter
-    Should Be Equal As Strings    ${response[0]['body']['callbackUri']}    ${filter_ok['callbackUri']}
-
+    @{words} =  Split String    ${filter_ok}       ,${SEPERATOR} 
+    Should Be Equal As Strings    ${response['body'][0]['callbackUri']}    @{words}[1]
 
 Check HTTP Response Body PkgmSubscription Attributes Values Match the Issued Subscription
     Log    Check Response matches subscription
diff --git a/SOL003/VNFPackageManagement-API/environment/subscriptions.txt b/SOL003/VNFPackageManagement-API/environment/subscriptions.txt
index 171d1862447b1a4b6349d0f7bf623485d963c679..ca34ee831fbdd3dd3727821ab00ee81d82c00fc6 100644
--- a/SOL003/VNFPackageManagement-API/environment/subscriptions.txt
+++ b/SOL003/VNFPackageManagement-API/environment/subscriptions.txt
@@ -4,3 +4,4 @@ ${filter_ko}      nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d    # Not existant f
 ${callbackUri}    http://172.22.1.7:9091/vnfpkgm/subscriptions
 ${total_polling_time}   2 min
 ${polling_interval}     10 sec
+${SEPERATOR}      =
\ No newline at end of file
diff --git a/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt b/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt
index 9786732e6ba2f30f8373efb232ab00fb56a59052..ff87485e017f6ead1e9f0ab3dc53f5d7c1eb25f6 100644
--- a/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt
+++ b/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt
@@ -3,3 +3,5 @@ ${POS_FILTER}     vnfdId=41fdd38a-3d4c-465c-83e0-f80e014425f8 ,vnfProvider=NXW
 ${NEG_FILTER}     nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8    # Negative case, using wrong name of field
 ${fields}         softwareImages,additionalArtifacts
 ${response}       httpresponse   
+${SEPERATOR}      =
+${VAR_SEPERATOR}    &
\ No newline at end of file
diff --git a/SOL003/VNFPerformanceManagement-API/PMJobs.robot b/SOL003/VNFPerformanceManagement-API/PMJobs.robot
index d21247a586805e527ddc1491f1730c9d86594a50..d3cac1bf40f602eabe208e920150cfeeb5121cca 100644
--- a/SOL003/VNFPerformanceManagement-API/PMJobs.robot
+++ b/SOL003/VNFPerformanceManagement-API/PMJobs.robot
@@ -324,7 +324,8 @@ Check HTTP Response Body PmJobs Matches the requested all_fields selector
     
 Check HTTP Response Body PmJobs Matches the requested Attribute-Based Filter 
     Log    Checking that attribute-based filter is matched
-    Should Be Equal As Strings    ${response[0]['body']['objectInstanceIds']}    ${POS_FILTER['objectInstanceIds']}
+    @{words} =  Split String    ${POS_FILTER}       ,${SEPERATOR} 
+    Should Be Equal As Strings    ${response['body'][0]['objectInstanceIds']}    @{words}[1]
 
 Check HTTP Response Body Does Not Contain reports
     Log    Checking that field element is missing
diff --git a/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot b/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot
index dd4afd07904513739b05466b72340ee641d3e967..a1587b8e31e88ba1114db7d27f9b052b0aa97aa6 100644
--- a/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot
+++ b/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot
@@ -283,7 +283,7 @@ Check HTTP Response Body Is Empty
 
 Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter
     Log    Check Response includes VNF Performance Management according to filter
-    Should Be Equal As Strings    ${response[0]['body']['callbackUri']}    ${filter_ok['callbackUri']}
+    Should Be Equal As Strings    ${response[0]['body']['callbackUri']}    ${callbackUri_Sub}
 
 Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription
     Log    Check Response matches subscription
diff --git a/SOL003/VNFPerformanceManagement-API/environment/pmJobs.txt b/SOL003/VNFPerformanceManagement-API/environment/pmJobs.txt
index 30b6682ef16874d7784cdbcf8a6f1926ecbe06f3..9891d3fed1ef2b09983dd918d21e21111a6e94a5 100644
--- a/SOL003/VNFPerformanceManagement-API/environment/pmJobs.txt
+++ b/SOL003/VNFPerformanceManagement-API/environment/pmJobs.txt
@@ -3,3 +3,4 @@ ${POS_FILTER}     objectInstanceIds=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a
 ${NEG_FILTER}     criteriaPmJob=erroneousAttributeName
 ${fields}         criteria,objectInstanceIds
 ${response}       httpresponse         
+${SEPERATOR}      =
\ No newline at end of file
diff --git a/SOL003/VNFPerformanceManagement-API/environment/subscriptions.txt b/SOL003/VNFPerformanceManagement-API/environment/subscriptions.txt
index 304f9a2c2a04d52d71ad833bd48e8d1b0c452e8e..46984c68ed09364e8d9f4bd38d5c274c8569cee5 100644
--- a/SOL003/VNFPerformanceManagement-API/environment/subscriptions.txt
+++ b/SOL003/VNFPerformanceManagement-API/environment/subscriptions.txt
@@ -1,6 +1,6 @@
 *** Variables ***
-${callbackUri}    http://172.22.1.7:9091/vnfpm/subscriptions
-${filter_ok}      callbackUri=${callbackUri}
+${callbackUri_Sub}    http://172.22.1.7:9091/vnfpm/subscriptions
+${filter_ok}      callbackUri=${callbackUri_Sub}
 ${filter_ko}      erroneousFilter=erroneous
 ${total_polling_time}   2 min
 ${polling_interval}     10 sec
diff --git a/SOL005/NSDManagement-API/NSDManagementKeywords.robot b/SOL005/NSDManagement-API/NSDManagementKeywords.robot
index 94c38ed2e9bf20c6480c4a2ee11cb59c036c73d0..4c8d10611b5fddb646f055f1c7e3102ac4c1e195 100644
--- a/SOL005/NSDManagement-API/NSDManagementKeywords.robot
+++ b/SOL005/NSDManagement-API/NSDManagementKeywords.robot
@@ -32,7 +32,8 @@ GET Network Service Descriptors Information with attribute-based filter
     
 Check HTTP Response Body NsdInfos Matches the requested attribute-based filter
     Log    Checking that attribute-based filter is matched
-    Should Be Equal As Strings    ${response['body'][0]['nsdName']}    ${NSD_NAME['nsdName']}
+    @{words} =  Split String    ${NSD_NAME}       ,${SEPERATOR} 
+    Should Be Equal As Strings    ${response['body'][0]['nsdName']}    @{words}[1]
 
 GET Network Service Descriptors Information with invalid attribute-based filter
     Log    The GET method queries multiple NS descriptors using Attribute-based filtering parameters. Negative case, with erroneous attribute name
@@ -503,9 +504,8 @@ GET PNF Descriptors Information with attribute-based filter
     
 Check HTTP Response Body PnfdInfos Matches the requested attribute-based filter
     Log    Checking that attribute-based filter is matched
-==== BASE ====
-    #todo
-==== BASE ====
+    @{words} =  Split String    ${PNFD_NAME}       ,${SEPERATOR} 
+    Should Be Equal As Strings    ${response['body'][0]['pnfdName']}    @{words}[1]
 
 GET PNF Descriptors Information with invalid attribute-based filter
     Log    The GET method queries multiple PNF descriptors using Attribute-based filtering parameters. Negative case, with erroneous attribute name
@@ -895,10 +895,8 @@ Check HTTP Response Body Is Empty
     
 Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter
     Log    Check Response includes NSD Management Management according to filter
-==== BASE ====
-    #TODO
-
-==== BASE ====
+    @{words} =  Split String    ${filter_ok}       ,${SEPERATOR} 
+    Should Be Equal As Strings    ${response['body'][0]['callbackUri']}    @{words}[1]
 
 Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription
     Log    Check Response matches subscription
diff --git a/SOL005/NSDManagement-API/environment/nsDescriptors.txt b/SOL005/NSDManagement-API/environment/nsDescriptors.txt
index 7f1abcc9f21003351382dc853b054a40d1e17334..b16e19ee9d6f66bc9c2da0e885b399b15737addb 100644
--- a/SOL005/NSDManagement-API/environment/nsDescriptors.txt
+++ b/SOL005/NSDManagement-API/environment/nsDescriptors.txt
@@ -30,4 +30,5 @@ ${usageState}    state
 ${length}          1024
 ${createdNsdInfoId}    f27200b1-1d8b-48c2-9d98-a993b8ab117f
 ${NSD_NAME}     nsdName=onBoardedNSD
-${PNFD_NAME}     pnfdName=onBoardedPNFD
\ No newline at end of file
+${PNFD_NAME}     pnfdName=onBoardedPNFD
+${SEPERATOR}      =
\ No newline at end of file
diff --git a/SOL005/NSDManagement-API/environment/subscriptions.txt b/SOL005/NSDManagement-API/environment/subscriptions.txt
index 553e803c8ca2672bd409772040b44eb3253e7efb..d8c0411021732e5676a5aa65e2dc168a37e48d82 100644
--- a/SOL005/NSDManagement-API/environment/subscriptions.txt
+++ b/SOL005/NSDManagement-API/environment/subscriptions.txt
@@ -1,3 +1,4 @@
 *** Variables ***
 ${filter_ok}      callbackUri=http://172.22.1.7:9091/nsd/subscriptions
 ${filter_ko}      nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d    # Not existant filter attribute-based
+${SEPERATOR}      =
\ No newline at end of file
diff --git a/SOL005/NSFaultManagement-API/Subscriptions.robot b/SOL005/NSFaultManagement-API/Subscriptions.robot
index fb8de8534d2b8a4eb9002e78631343f8f0037141..80d37a1ded8c9a83af0e880485feb07b285e9abe 100644
--- a/SOL005/NSFaultManagement-API/Subscriptions.robot
+++ b/SOL005/NSFaultManagement-API/Subscriptions.robot
@@ -175,4 +175,4 @@ DELETE subscriptions - Method not implemented
     ...    Applicability:  none
     ...    Post-Conditions: subscription is not deleted
     DELETE Subscriptions
-    Check HTTP Response Status Code Is    405
\ No newline at end of file
+    Check HTTP Response Status Code Is    405
diff --git a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot
index afdae1142ce3cd3892d8b139dac9892c0ff3398d..660310863bc3aebd7bec4045d0e8f3f4d8c63f02 100644
--- a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot
+++ b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot
@@ -351,7 +351,7 @@ GET Performance Thresholds with attribute-based filter
     Log    Trying to get thresholds present in the NFVO with filter
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": ${AUTHORIZATION}"}
-    GET    ${apiRoot}/${apiName}/${apiVersion}/thresholds?${FILTER_OK}
+    GET    ${apiRoot}/${apiName}/${apiVersion}/thresholds?${FILTER_OK_Threshold}
     ${output}=    Output    response
     Set Suite Variable    ${response}    ${output}
 
@@ -422,7 +422,8 @@ Check Postcondition Threshold Exists
         
 Check HTTP Response Body Thresholds match the requested attribute-based filter
     Log    Checking that attribute-based filter is matched
-    Should Be Equal As Strings    ${response[0]['body']['objectInstanceId']}    ${filter_ok['objectInstanceId']}
+    @{words} =  Split String    ${FILTER_OK_Threshold}       ,${SEPERATOR} 
+    Should Be Equal As Strings    ${response['body'][0]['objectInstanceId']}    @{words}[1]
     
 
 GET Individual NS performance Threshold
@@ -656,8 +657,8 @@ Check HTTP Response Body Is Empty
 
 Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter
     Log    Check Response includes NS Package Management according to filter
-    Should Be Equal As Strings    ${response[0]['body']['callbackUri']}    ${filter_ok['callbackUri']}
-
+    @{words} =  Split String    ${filter_ok}       ,${SEPERATOR} 
+    Should Be Equal As Strings    ${response['body'][0]['callbackUri']}    @{words}[1]
 
 Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription
     Log    Check Response matches subscription
diff --git a/SOL005/NSPerformanceManagement-API/environment/subscriptions.txt b/SOL005/NSPerformanceManagement-API/environment/subscriptions.txt
index fec8c84b57f2f27c991fda4ae7b5b640f7159289..78a574197d739221a5462a2884452624be7ed3fc 100644
--- a/SOL005/NSPerformanceManagement-API/environment/subscriptions.txt
+++ b/SOL005/NSPerformanceManagement-API/environment/subscriptions.txt
@@ -1,3 +1,4 @@
 *** Variables ***
 ${filter_ok}      callbackUri=http://localhost/subscriptions
 ${filter_ko}      erroneousFilter=erroneous
+${SEPERATOR}      =
diff --git a/SOL005/NSPerformanceManagement-API/environment/thresholds.txt b/SOL005/NSPerformanceManagement-API/environment/thresholds.txt
index 49461a0953bcdd310d7a8ddabc78efea1b4d946f..587560f0d556da259fb3666360ddcb090d2b6e6b 100644
--- a/SOL005/NSPerformanceManagement-API/environment/thresholds.txt
+++ b/SOL005/NSPerformanceManagement-API/environment/thresholds.txt
@@ -1,3 +1,4 @@
 *** Variables ***
-${FILTER_OK}      objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a
+${FILTER_OK_Threshold}      objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a
 ${FILTER_KO}      criterias=erroneousFilter
+${SEPERATOR}      =
\ No newline at end of file
diff --git a/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot
index 6d06f7923261b44014c1ee6550a97ac7566e93f5..67cfbe57fb513bee896c9c563c7cf8d2e49393cc 100644
--- a/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot
+++ b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot
@@ -59,8 +59,11 @@ GET VNF Packages with attribute-based filter
 
 Check HTTP Response Body VnfPkgsInfo Matches the requested Attribute-Based Filter
     Log    Checking that attribute-based filter is matched
-    Should Be True     "${response[0]['body']['vnfdId']}"=="${POS_FILTER['vnfdId']}" and "${response[0]['body']['vnfProvider']}"=="${POS_FILTER['vnfProvider']}"
-
+    @{attr} =  Split String    ${POS_FILTER}       ,${VAR_SEPERATOR} 
+    @{var_id} = Split String    @{attr}[0]       ,${SEPERATOR}
+    @{var_provider} = Split String    @{attr}[1]       ,${SEPERATOR}
+    Should Be True     "${response['body'][0]['vnfdId']}"=="@{var_id}[1]" and "${response['body'][0]['vnfProvider']}"=="@{var_provider}[1]"
+    
 GET VNF Packages with invalid attribute-based filter
     Log    Trying to perform a negative get, filtering by the inexistent filter 'nfvId'
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
@@ -907,7 +910,8 @@ Check HTTP Response Body Json Schema Is
     
 Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter
     Log    Check Response includes VNF Package Management according to filter
-    Should Be Equal As Strings    ${response[0]['body']['callbackUri']}    ${filter_ok['callbackUri']}
+    @{words} =  Split String    ${filter_ok}       ,${SEPERATOR} 
+    Should Be Equal As Strings    ${response['body'][0]['callbackUri']}    @{words}[1]
 
 Check HTTP Response Body Subscription Identifier matches the requested Subscription
     Log    Trying to check response ID
diff --git a/SOL005/VNFPackageManagement-API/environment/subscriptions.txt b/SOL005/VNFPackageManagement-API/environment/subscriptions.txt
index cddf01eefe53be9d8ba95fe114462d481e56e156..ca34ee831fbdd3dd3727821ab00ee81d82c00fc6 100644
--- a/SOL005/VNFPackageManagement-API/environment/subscriptions.txt
+++ b/SOL005/VNFPackageManagement-API/environment/subscriptions.txt
@@ -3,4 +3,5 @@ ${filter_ok}      callbackUri=http://172.22.1.7:9091/vnfpkgm/subscriptions
 ${filter_ko}      nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d    # Not existant filter attribute-based
 ${callbackUri}    http://172.22.1.7:9091/vnfpkgm/subscriptions
 ${total_polling_time}   2 min
-${polling_interval}     10 sec
\ No newline at end of file
+${polling_interval}     10 sec
+${SEPERATOR}      =
\ No newline at end of file
diff --git a/SOL005/VNFPackageManagement-API/environment/vnfPackages.txt b/SOL005/VNFPackageManagement-API/environment/vnfPackages.txt
index e7e4eecb25a1a067e01debded892d11d73e24771..8f599ef60e0a6c0bb1da6116f2e035e686ffae1a 100644
--- a/SOL005/VNFPackageManagement-API/environment/vnfPackages.txt
+++ b/SOL005/VNFPackageManagement-API/environment/vnfPackages.txt
@@ -6,3 +6,5 @@ ${fields}         softwareImages,additionalArtifacts
 ${response}       httpresponse
 ${NEG_AUTHORIZATION}    Bearer negativetoken
 ${BAD_AUTHORIZATION}    Bear sometoken
+${SEPERATOR}      =
+${VAR_SEPERATOR}    &