upgrade to python3 libraries

basing the code off of robot framework 3.1.1 instead of 3.0, replacing
selenium2lib with selnium lib and selenium3, replacing extendedselenium
with angularjs lib. Fixing most warnings and all errors from these moves

Change-Id: Ifed68c5b8cd28c7bbdc80ee7245860914bdee5b4
Issue-ID: TEST-151
Signed-off-by: DR695H <dr695h@att.com>
diff --git a/robot/testsuites/create-cloud-config.robot b/robot/testsuites/create-cloud-config.robot
index 0af4f0e..662bc29 100644
--- a/robot/testsuites/create-cloud-config.robot
+++ b/robot/testsuites/create-cloud-config.robot
@@ -11,7 +11,7 @@
 Create Cloud Config Test
     [TAGS]    mso    cloudconfig
     # Run Create Cloud Configuration    RegionOne   RegionOne   RegionOne    DEFAULT_KEYSTONE    identify_url:http://10.12.25.2:5000/v2.0    mso_id:demo  mso_pass:encrypted_password  admin_tenant:1e097c6713e74fd7ac8e4295e605ee1e    member_role:admin    identity_server_type:KEYSTONE    identity_authentication_type:USERNAME_PASSWORD
-    Create Cloud Configuration    ${GLOBAL_INJECTED_REGION}   ${GLOBAL_INJECTED_REGION}  ${GLOBAL_INJECTED_REGION}   DEFAULT_KEYSTONE    ${GLOBAL_INJECTED_KEYSTONE}/${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION}    ${GLOBAL_INJECTED_OPENSTACK_USERNAME}   ${GLOBAL_INJECTED_OPENSTACK_MSO_ENCRYPTED_PASSWORD}    ${GLOBAL_INJECTED_OPENSTACK_TENANT_ID}     admin    KEYSTONE    USERNAME_PASSWORD 
+    Create Cloud Configuration    ${GLOBAL_INJECTED_REGION}   ${GLOBAL_INJECTED_REGION}  ${GLOBAL_INJECTED_REGION}   DEFAULT_KEYSTONE    ${GLOBAL_INJECTED_KEYSTONE}/${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION}    ${GLOBAL_INJECTED_OPENSTACK_USERNAME}   ${GLOBAL_INJECTED_OPENSTACK_API_KEY}    ${GLOBAL_INJECTED_OPENSTACK_TENANT_ID}     admin    KEYSTONE    USERNAME_PASSWORD 
 
 Create Cloud Config RegionThree V3 Test
     [TAGS]    mso    cloudconfig  cloudconfigv3
diff --git a/robot/testsuites/demo.robot b/robot/testsuites/demo.robot
index a4ab099..1e9e8d4 100644
--- a/robot/testsuites/demo.robot
+++ b/robot/testsuites/demo.robot
@@ -13,6 +13,7 @@
 ${HB_STACK}
 ${HB_SERVICE_INSTANCE_ID}
 ${HB_SERVICE}
+${HB_IPV4_OAM_ADDRESS}
 
 
 *** Test Cases ***
diff --git a/robot/testsuites/health-check.robot b/robot/testsuites/health-check.robot
index daba7c1..5feaa9c 100644
--- a/robot/testsuites/health-check.robot
+++ b/robot/testsuites/health-check.robot
@@ -286,11 +286,11 @@
 
 Basic Holmes Rule Management API Health Check
     [Tags]    health    medium   health-dcae
-    Run Holmes Rule Mgmt Health Check
+    Run Holmes Rule Mgmt Healthcheck
 
 Basic Holmes Engine Management API Health Check
     [Tags]    health    medium   health-dcae
-    Run Holmes Engine Mgmt Health Check
+    Run Holmes Engine Mgmt Healthcheck
 
 Basic Multicloud-fcaps API Health Check
     [Tags]    health    multicloud   health-multicloud
diff --git a/robot/testsuites/hvves.robot b/robot/testsuites/hvves.robot
index a67b0c3..941f664 100644
--- a/robot/testsuites/hvves.robot
+++ b/robot/testsuites/hvves.robot
@@ -1,7 +1,9 @@
 *** Settings ***
-Documentation   HV-VES 'Sunny Scenario' Robot Framwork test - message is sent to the collector and Kafka topic is checked if the message has been published.
-Default Tags    HVVES   ete
-Test Timeout    10s
+Documentation   HV-VES 'Sunny Scenario' Robot Framwork test - message is sent to the collector and Kafka topic is checked if the message has been published. 
+
+
+Library    Rammbock
+Library    OperatingSystem
 Resource    ${EXECDIR}/robot/resources/global_properties.robot
 Resource    ${EXECDIR}/robot/resources/test_templates/hvves_template.robot
 Suite Teardown  Reset Rammbock
@@ -10,6 +12,8 @@
 
 *** Test Cases ***
 HV-VES test case
+    [Tags]    HVVES   ete
+    [Timeout]     10s
     ${msg_number_initial}=  Check Number Of Messages On Topic   ${GLOBAL_DNS_MESSAGE_ROUTER_KAFKA_NAME}  ${GLOBAL_MESSAGE_ROUTER_KAFKA_PORT}  ${hvves_kafka_topic}
     Define WTP Protocol
     Start HV-VES TCP Client And Send Message     ${GLOBAL_DNS_HV_VES_NAME}   ${GLOBAL_HV_VES_SERVER_PORT}
diff --git a/robot/testsuites/model-distribution-vcpe.robot b/robot/testsuites/model-distribution-vcpe.robot
index b0016b2..09a4430 100644
--- a/robot/testsuites/model-distribution-vcpe.robot
+++ b/robot/testsuites/model-distribution-vcpe.robot
@@ -3,7 +3,6 @@
 Library    OperatingSystem
 Library    RequestsLibrary
 Library    Collections
-Library 	      ExtendedSelenium2Library
 Resource          ../resources/test_templates/model_test_template_vcperescust.robot
 
 Test Template         Model Distribution For vCPEResCust Directory
diff --git a/robot/testsuites/model-distribution.robot b/robot/testsuites/model-distribution.robot
index fb31c20..5633cdc 100644
--- a/robot/testsuites/model-distribution.robot
+++ b/robot/testsuites/model-distribution.robot
@@ -3,7 +3,6 @@
 Library    OperatingSystem
 Library    RequestsLibrary
 Library    Collections
-Library 	      ExtendedSelenium2Library
 Resource          ../resources/test_templates/model_test_template.robot
 
 Test Template         Model Distribution For Directory
diff --git a/robot/testsuites/pnf-registration.robot b/robot/testsuites/pnf-registration.robot
index b4aeee3..6336df2 100644
--- a/robot/testsuites/pnf-registration.robot
+++ b/robot/testsuites/pnf-registration.robot
@@ -10,16 +10,7 @@
 Create A&AI antry without SO and succesfully registrate PNF, PNF entry contains: correlation ID, PNF_IPv4_address and PNF_IPv6_address
      [Documentation]  This test is checking creation A&AI entry without SO and succesfull PNF registration
      [Tags]   pnf_registrate   ete
-     [Setup]    Initialize PNF entry with correlation ID, PNF_IPv4_address and PNF_IPv6_address
+     ${PNF_entry_dict}=  Create Dictionary  correlation_id=ABCDEFG1234567  PNF_IPv4_address=13.13.13.13  PNF_IPv6_address=2001:0db8:0:0:0:0:1428:57ab
+     Log  Initial PNF entry ${PNF_entry_dict}
      Create A&AI antry without SO and succesfully registrate PNF  ${PNF_entry_dict}
-     [Teardown]  Cleanup PNF entry in A&AI  ${PNF_entry_dict}
-
-
-*** Keyword ***
-
-Initialize PNF entry with correlation ID, PNF_IPv4_address and PNF_IPv6_address
-    [Documentation]  Setup test case variable
-    ${PNF_entry_dict}=  Create Dictionary  correlation_id=ABCDEFG1234567  PNF_IPv4_address=13.13.13.13  PNF_IPv6_address=2001:0db8:0:0:0:0:1428:57ab
-    Set Test Variable  ${PNF_entry_dict}
-    Log  Initial PNF entry ${PNF_entry_dict}
-
+     [Teardown]  Cleanup PNF entry in A&AI  ${PNF_entry_dict}
\ No newline at end of file
diff --git a/robot/testsuites/portalApp.robot b/robot/testsuites/portalApp.robot
index d441e19..6a447e8 100644
--- a/robot/testsuites/portalApp.robot
+++ b/robot/testsuites/portalApp.robot
@@ -2,15 +2,16 @@
 Test Timeout    5 minute
 Documentation    This is RobotFrame work script
 Resource	../resources/portal-sdk/portalDef.robot
-Resource	../resources/portal-sdk/portalSdkDef.robot
+Resource    ../resources/portal_interface.robot
+Library        SeleniumLibrary
 Suite Setup     Generate Random User Name
+Suite Teardown    Close All Browsers
 
 *** Test Cases ***
      
 Login into Portal URL
     [TAGS]  portal
-    Close All Browsers
-    Portal admin Login To Portal GUI  
+    Portal admin Login To Portal GUI
 
 Portal Change REST URL Of X-DemoApp
     [TAGS]  portal
@@ -21,10 +22,6 @@
     [TAGS]  portal
     [Documentation]    ONAP Portal R1 functionality for AAF test
     Portal AAF new fields
-	  
-#Create Microse service onboarding
-#    [TAGS]  portal
-#	Portal admin Microservice Onboarding
 
 EP Admin widget layout reset
     [TAGS]  portal
@@ -41,17 +38,7 @@
 Edit Functional Menu
     [TAGS]  portal
 	Portal admin Edit Functional menu
-    
-#Broadbond Notification functionality
-#    [TAGS]  portal
-#	${AdminBroadCastMsg}=    Portal Admin Broadcast Notifications
-#	set global variable    ${AdminBroadCastMsg}
-   
-#Category Notification functionality
-#    [TAGS]  portal
-#	${AdminCategoryMsg}=   Portal Admin Category Notifications
-#	set global variable    ${AdminCategoryMsg}
-         
+      
 Create a Test user for Application Admin -Test
     [TAGS]  portal
 	Portal admin Add Application admin User New user -Test
@@ -76,18 +63,6 @@
     [TAGS]  portal
 	Portal admin Delete Application Admin Existing User
     
-#Add Standard User Role for Existing user
-#    [TAGS]  portal
-#	Portal admin Add Standard User Existing user
-    
-#Edit Standard User Role for Existing user
-#    [TAGS]  portal
-#	Portal admin Edit Standard User Existing user
-    
-#Delete Standard User Role for Existing user
-#    [TAGS]  portal
-#	Portal admin Delete Standard User Existing user
-
 Logout from Portal GUI as Portal Admin
     [TAGS]  portal
     Portal admin Logout from Portal GUI
@@ -96,19 +71,7 @@
 	 
 Login To Portal GUI as APP Admin
     [TAGS]  portal
-	Application admin Login To Portal GUI
-
-#Add Standard User Role for Existing user as APP Admin
-#    [TAGS]  portal
-#	Application admin Add Standard User Existing user
-    
-#Edit Standard User Role for Existing user as APP Admin
-#    [TAGS]  portal
-#	Application admin Edit Standard User Existing user
-    
-#Delete Standard User Role for Existing user as APP Admin
-#    [TAGS]  portal
-#	Application admin Delete Standard User Existing user
+    Application admin Login To Portal GUI
 
 Logout from Portal GUI as APP Admin
     [TAGS]  portal
@@ -116,12 +79,7 @@
    
 #Standard User Test cases
    
-Login To Portal GUI as Standared User
-    [TAGS]  portal
-	Standared user Login To Portal GUI
-
 Logout from Portal GUI as Standared User
     [TAGS]  portal
 	Standared User Logout from Portal GUI
     Close All Browsers
-    
diff --git a/robot/testsuites/update_onap_page.robot b/robot/testsuites/update_onap_page.robot
index 2e14eb4..57a433b 100644
--- a/robot/testsuites/update_onap_page.robot
+++ b/robot/testsuites/update_onap_page.robot
@@ -49,7 +49,7 @@
 
     ${values}=   Create Dictionary
     ${keys}=    Get Dictionary Keys    ${oam_ip_map}
-    :for   ${oam_ip}   in    @{keys}
+    :FOR   ${oam_ip}   IN    @{keys}
     \    ${value_name}=   Get From Dictionary    ${oam_ip_map}   ${oam_ip}
     \    Set Public Ip    ${server_map}    ${oam_ip}   ${value_name}   ${values}
     Log    ${values}
@@ -82,7 +82,7 @@
 Get Public Ip
     [Arguments]   ${server_map}    ${oam_ip}
     ${servers}   Get Dictionary Values    ${server_map}
-    :for   ${server}   in   @{servers}
+    :FOR   ${server}   IN   @{servers}
     \    ${status}   ${public_ip}   Run Keyword And Ignore Error   Search Addresses   ${server}   ${oam_ip}
     \    Return From Keyword If   '${status}'=='PASS'   ${public_ip}
     Fail  ${oam_ip} Server Not Found
@@ -124,7 +124,7 @@
 
 Get V4 IP
     [Arguments]   ${ipmaps}
-    :for   ${ipmap}   in   @{ipmaps}
+    :FOR   ${ipmap}   IN   @{ipmaps}
     \    ${ip}   Get From Dictionary   ${ipmap}   addr
     \    ${version}   Get From Dictionary   ${ipmap}   version
     \    Return from Keyword if   '${version}' == '4'   ${ip}
@@ -133,7 +133,7 @@
 Get V4 IP Openstack
     [Arguments]   ${addresses}   ${testtype}
     ${ipmaps}=   Get From Dictionary   ${addresses}   ${testtype}
-    :for   ${ipmap}   in   @{ipmaps}
+    :FOR   ${ipmap}   IN   @{ipmaps}
     \    ${ip}   Get From Dictionary   ${ipmap}   addr
     \    ${version}   Get From Dictionary   ${ipmap}   version
     \    Return from Keyword if   '${version}'=='4'   ${ip}
@@ -141,7 +141,7 @@
 
 Get V4 IP Openstack 2
     [Arguments]   ${ipmaps}   ${testtype}
-    :for   ${ipmap}   in   @{ipmaps}
+    :FOR   ${ipmap}   IN   @{ipmaps}
     \    ${type}   Get From Dictionary   ${ipmap}   OS-EXT-IPS:type
     \    ${ip}   Get From Dictionary   ${ipmap}   addr
     \    ${version}   Get From Dictionary   ${ipmap}   version