Portal scripts for  CSIT

Issue-ID: PORTAL-53
Change-Id: I23126fa0d407a8ed11e365c446caed9c3c57ff85
Signed-off-by: kishore <kk707x@att.com>
diff --git a/test/csit/tests/portal/testsuites/__init__.robot b/test/csit/tests/portal/testsuites/__init__.robot
new file mode 100644
index 0000000..3b8528d
--- /dev/null
+++ b/test/csit/tests/portal/testsuites/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    APPC - healthcheck
diff --git a/test/csit/tests/portal/testsuites/browser_setup.robot b/test/csit/tests/portal/testsuites/browser_setup.robot
new file mode 100644
index 0000000..6ef4f72
--- /dev/null
+++ b/test/csit/tests/portal/testsuites/browser_setup.robot
@@ -0,0 +1,43 @@
+*** Settings ***
+Documentation     The main interface for interacting with VID. It handles low level stuff like managing the selenium request library and VID required steps
+Library           Collections
+Library           OSUtils
+Library           OperatingSystem
+Library           ExtendedSelenium2Library
+Resource          global_properties.robot
+
+*** Variables ***
+
+*** Keywords ***
+Setup Browser
+    [Documentation]   Sets up browser based upon the value of ${GLOBAL_SELENIUM_BROWSER}
+    Run Keyword If    '${GLOBAL_SELENIUM_BROWSER}' == 'firefox'    Setup Browser Firefox
+    Run Keyword If    '${GLOBAL_SELENIUM_BROWSER}' == 'chrome'    Setup Browser Chrome
+    Log    Running with ${GLOBAL_SELENIUM_BROWSER}
+    
+Setup Browser Firefox
+    ${dc}   Evaluate    sys.modules['selenium.webdriver'].DesiredCapabilities.FIREFOX  sys, selenium.webdriver
+    Set To Dictionary   ${dc}   elementScrollBehavior    1 
+    Create Webdriver    Firefox    desired_capabilities=${dc}
+    Set Global Variable    ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES}    ${dc}
+           
+ Setup Browser Chrome
+    ${os}=   Get Normalized Os 
+    Log    Normalized OS=${os}
+    ${chrome options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys
+    Call Method    ${chrome options}    add_argument    no-sandbox
+    ${dc}   Evaluate    sys.modules['selenium.webdriver'].DesiredCapabilities.CHROME  sys, selenium.webdriver
+    Set To Dictionary   ${dc}   elementScrollBehavior    1
+    Create Webdriver    Chrome   chrome_options=${chrome_options}    desired_capabilities=${dc}  
+    Set Global Variable    ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES}    ${dc}       
+
+Handle Proxy Warning    
+    [Documentation]    Handle Intermediate Warnings from Proxies
+    ${status}    ${data}=    Run Keyword And Ignore Error   Variable Should Exist    \${GLOBAL_PROXY_WARNING_TITLE}           
+    Return From Keyword if    '${status}' != 'PASS'
+    ${status}    ${data}=    Run Keyword And Ignore Error   Variable Should Exist    \${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}          
+    Return From Keyword if    '${status}' != 'PASS'
+    Return From Keyword if    "${GLOBAL_PROXY_WARNING_TITLE}" == ''
+    Return From Keyword if    "${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}" == ''
+    ${test}    ${value}=    Run keyword and ignore error    Title Should Be     ${GLOBAL_PROXY_WARNING_TITLE}
+    Run keyword If    '${test}' == 'PASS'    Click Element    xpath=${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}
\ No newline at end of file
diff --git a/test/csit/tests/portal/testsuites/integration_robot_properties.py b/test/csit/tests/portal/testsuites/integration_robot_properties.py
new file mode 100644
index 0000000..cc0558f
--- /dev/null
+++ b/test/csit/tests/portal/testsuites/integration_robot_properties.py
@@ -0,0 +1,83 @@
+# aaf info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_AAF_SERVER = "http://10.0.12.1:8101"
+GLOBAL_AAF_USERNAME = "dgl@openecomp.org"
+GLOBAL_AAF_PASSWORD = "ecomp_admin"
+# aai info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_AAI_SERVER_URL = "https://104.239.249.183:8443"
+GLOBAL_AAI_USERNAME = "AAI"
+GLOBAL_AAI_PASSWORD = "AAI"
+# appc info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_APPC_SERVER = "http://172.99.68.171:8282"
+GLOBAL_APPC_USERNAME = "admin"
+GLOBAL_APPC_PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
+# sdc info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_ASDC_SERVER = "http://104.239.249.58"
+GLOBAL_ASDC_FE_PORT = "8181"
+GLOBAL_ASDC_BE_PORT = "8080"
+GLOBAL_ASDC_BE_USERNAME = "beep"
+GLOBAL_ASDC_BE_PASSWORD = "boop"
+# dcae info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_DCAE_SERVER = "http://146.20.110.86:9998"
+GLOBAL_DCAE_USERNAME = "console"
+GLOBAL_DCAE_PASSWORD = "ZjJkYjllMjljMTI2M2Iz"
+# message router info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_MR_SERVER = "http://162.209.124.141:3904"
+# mso info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_MSO_SERVER = "http://172.99.67.208:8080"
+GLOBAL_MSO_USERNAME = "InfraPortalClient"
+GLOBAL_MSO_PASSWORD = "password1$"
+# openstack info - info to select right info in environment
+GLOBAL_OPENSTACK_KEYSTONE_SERVER = "https://identity.api.rackspacecloud.com"
+# packet generate vnf info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_PACKET_GENERATOR_PORT = "8183"
+GLOBAL_PACKET_GENERATOR_USERNAME = "admin"
+GLOBAL_PACKET_GENERATOR_PASSWORD = "admin"
+GLOBAL_PGN_PORT = "2831"
+# policy info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_POLICY_SERVER_URL = "http://104.239.249.76:8480"
+GLOBAL_POLICY_AUTH = "dGVzdHJlc3Q6M2MwbXBVI2gwMUBOMWMz"
+GLOBAL_POLICY_CLIENTAUTH = "cHl0aG9uOnRlc3Q="
+GLOBAL_POLICY_HEALTHCHECK_URL = "http://104.239.249.76:6969"
+GLOBAL_POLICY_USERNAME = "healthcheck"
+GLOBAL_POLICY_PASSWORD = "zb!XztG34"
+# portal info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_PORTAL_SERVER = "http://104.130.31.32:8989"
+GLOBAL_PORTAL_USERNAME = "demo"
+GLOBAL_PORTAL_PASSWORD = "demo123456!"
+# portal information
+#GLOBAL_PORTAL_URL = "http://vm-ep-dev2.client.research.att.com:8989"
+GLOBAL_PORTAL_URL = "http://vm-ep-dev3.client.research.att.com:8989"
+#GLOBAL_PORTAL_URL = "http://portal.api.simpledemo.openecomp.org:8989"
+GLOBAL_PORTAL_ADMIN_USER = "demo"
+GLOBAL_PORTAL_ADMIN_PWD = "demo123456!"
+GLOBAL_APP_ADMIN_USER = "appdemo"
+GLOBAL_APP_ADMIN_PWD = "appdemo123456!"
+GLOBAL_STA_USER_USER = "stademo"
+GLOBAL_STA_USER_PWD = "stademo123456!"
+#First_Name = "Test20"
+#Last_Name =  "Demo20"
+#Email_Address = "Test20@att.com"
+#LoginID = "TestUser20"
+#Loginpwd = "Demo1234!"
+#LoginPwdCheck = "Demo1234!"
+#Existing_User = "Portal"
+# sdngc info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_SDNGC_SERVER = "http://172.99.69.190"
+GLOBAL_SDNGC_REST_PORT = "8282"
+GLOBAL_SDNGC_ADMIN_PORT = "8843"
+GLOBAL_SDNGC_USERNAME = "admin"
+GLOBAL_SDNGC_PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
+# vid info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_VID_USERNAME = "demo"
+GLOBAL_VID_PASSWORD = "Kp8bJ4SXszM0WX"
+GLOBAL_VID_HEALTH_USERNAME = "Default"
+GLOBAL_VID_HEALTH_PASSWORD = "AppPassword!1"
+GLOBAL_VID_SERVER = "http://104.130.12.222:8080"
+#global selenium info
+GLOBAL_PROXY_WARNING_TITLE="Notice - Uncategorized Site"
+GLOBAL_PROXY_WARNING_CONTINUE_XPATH="//a[contains(@href, 'accepted-Notify-Uncategorized')]"
+# settings for vm to attach vvg too
+GLOBAL_VVGSERVER_IMAGE = "Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)"
+GLOBAL_VVGSERVER_FLAVOR = "4 GB General Purpose v1"
+# dns info
+GLOBAL_DNS_TRAFFIC_DURATION = "600"
\ No newline at end of file
diff --git a/test/csit/tests/portal/testsuites/portal_VID.robot b/test/csit/tests/portal/testsuites/portal_VID.robot
new file mode 100644
index 0000000..473a046
--- /dev/null
+++ b/test/csit/tests/portal/testsuites/portal_VID.robot
@@ -0,0 +1,741 @@
+*** Settings ***
+Documentation     The main interface for interacting with Portal. It handles low level stuff like managing the selenium request library and Portal required steps
+Library 	    ExtendedSelenium2Library
+Library	          RequestsClientCert
+Library 	      RequestsLibrary
+Library	          UUID 
+Library         DateTime  
+Resource        ../global_properties.robot
+Resource        ../browser_setup.robot
+
+*** Variables ***
+${PORTAL_ENV}            /ECOMPPORTAL
+${PORTAL_LOGIN_URL}                ${GLOBAL_PORTAL_URL}${PORTAL_ENV}/login.htm
+${PORTAL_HOME_PAGE}        ${GLOBAL_PORTAL_URL}${PORTAL_ENV}/applicationsHome
+${PORTAL_MICRO_ENDPOINT}    ${GLOBAL_PORTAL_URL}${PORTAL_ENV}/commonWidgets
+${PORTAL_HOME_URL}                ${GLOBAL_PORTAL_URL}${PORTAL_ENV}/applicationsHome
+${App_First_Name}    appdemo    
+${App_Last_Name}    demo
+${App_Email_Address}    appdemo@onap.com
+${App_LoginID}    appdemo 
+${App_Loginpwd}    demo123456!
+${App_LoginPwdCheck}    demo123456!
+${Sta_First_Name}    stademo   
+${Sta_Last_Name}    demo
+${Sta_Email_Address}    stademo@onap.com
+${Sta_LoginID}    stademo
+${Sta_Loginpwd}    demo123456!
+${Sta_LoginPwdCheck}    demo123456!
+${Existing_User}    portal
+${PORTAL_HEALTH_CHECK_PATH}        /ECOMPPORTAL/portalApi/healthCheck
+#${Application}     'Virtual Infrastructure Deployment'  
+#${Application_tab}     'select-app-Virtual-Infrastructure-Deployment'   
+#${Application_dropdown}    'div-app-name-dropdown-Virtual-Infrastructure-Deployment'
+#${Application_dropdown_select}    'div-app-name-Virtual-Infrastructure-Deployment'  
+${APPC_LOGIN_URL}     http://104.130.74.99:8282/apidoc/explorer/index.html 
+${PORTAL_ASSETS_DIRECTORY}    C:\\Users\\kk707x\\Downloads
+
+
+  
+
+
+*** Keywords ***
+
+Run Portal Health Check
+     [Documentation]    Runs Portal Health check
+     ${resp}=    Run Portal Get Request    ${PORTAL_HEALTH_CHECK_PATH}    
+     Should Be Equal As Strings 	${resp.status_code} 	200
+     Should Be Equal As Strings 	${resp.json()['statusCode']} 	200
+Run Portal Get Request
+     [Documentation]    Runs Portal Get request
+     [Arguments]    ${data_path}
+     ${session}=    Create Session 	portal	${GLOBAL_PORTAL_URL}
+     ${uuid}=    Generate UUID
+     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
+     ${resp}= 	Get Request 	portal 	${data_path}     headers=${headers}
+     Log    Received response from portal ${resp.text}
+     [Return]    ${resp}     
+     
+
+Portal admin Login To Portal GUI
+    [Documentation]   Logs into Portal GUI
+    # Setup Browser Now being managed by test case
+    ##Setup Browser
+    Go To    ${PORTAL_LOGIN_URL}
+    Maximize Browser Window
+    Set Selenium Speed    ${GLOBAL_SELENIUM_DELAY}
+    Set Browser Implicit Wait    ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
+    Log    Logging in to ${GLOBAL_PORTAL_SERVER}${PORTAL_ENV}
+   # Handle Proxy Warning
+    Title Should Be    Login
+    Input Text    xpath=//input[@ng-model='loginId']    ${GLOBAL_PORTAL_ADMIN_USER}
+    Input Password    xpath=//input[@ng-model='password']    ${GLOBAL_PORTAL_ADMIN_PWD}
+    Click Link    xpath=//a[@id='loginBtn']
+    Wait Until Page Contains Element    xpath=//img[@alt='Onap Logo']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}    
+    Log    Logged in to ${GLOBAL_PORTAL_SERVER}${PORTAL_ENV}
+
+Portal admin Go To Portal HOME
+    [Documentation]    Naviage to Portal Home
+    Go To    ${PORTAL_HOME_URL}
+    Wait Until Page Contains Element    xpath=//div[@class='applicationWindow']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}   
+    
+Portal admin User Notifications 
+    [Documentation]    Naviage to User notification tab
+    Click Link    xpath=//a[@id='parent-item-User-Notifications']
+    Wait Until Element Is Visible    xpath=//h1[@class='heading-page']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Click Button    xpath=//button[@id='button-openAddNewApp']
+    Click Button    xpath=(//button[@id='undefined'])[1]
+    #Click Button    xpath=//input[@id='datepicker-start']
+    
+Portal admin Add Application Admin New User
+    [Documentation]    Naviage to Admins tab
+    Click Link    xpath=//a[@title='Admins']
+    Wait Until Element Is Visible    xpath=//h1[contains(.,'Admins')]    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Page Should Contain      Admins
+    Click Button    xpath=//button[@ng-click='admins.openAddNewAdminModal()']
+    Click Button    xpath=//button[@id='Create-New-User-button']
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.firstName']    ${First_Name}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.lastName']    ${Last_Name}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.emailAddress']    ${Email_Address}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginId']    ${LoginID}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginPwd']    ${Loginpwd}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck']    ${LoginPwdCheck} 
+    Click Button    xpath=//button[@ng-click='searchUsers.addNewUserFun()']
+    Click Button    xpath=//button[@id='search-users-button-next']
+    Click Button    xpath=//input[@value='Select application']
+    Scroll Element Into View    xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment')])[1]
+    #Scroll Element Into View    xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment')])[1]
+    Click Element    xpath=(//li[contains(.,'Virtual Infrastructure Deployment')])[2]
+     Click Button    xpath=//button[@id='div-updateAdminAppsRoles']
+   Click Element    xpath=//button[@id='admin-div-ok-button']
+    Click Element    xpath=//button[@id='div-confirm-ok-button']
+    Click Link    xpath=//a[@aria-label='Admins']
+    Click Button    xpath=//input[@id='dropdown1']
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+    Input Text    xpath=//input[@id='input-table-search']    ${First_Name}
+    Element Text Should Be      xpath=(//span[contains(.,'Test')] )[1]   ${First_Name}
+    
+    
+    
+    
+Portal admin Add Application Admin Exiting User 
+    [Documentation]    Naviage to Admins tab
+    Wait Until Element Is Visible    xpath=//a[@title='Admins']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Click Link    xpath=//a[@title='Admins']
+    Wait Until Element Is Visible    xpath=//h1[contains(.,'Admins')]    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Page Should Contain      Admins
+    Click Button    xpath=//button[@ng-click='admins.openAddNewAdminModal()']
+    Input Text    xpath=//input[@id='input-user-search']    ${Existing_User}   
+    Click Button    xpath=//button[@id='button-search-users']
+    Click Element    xpath=//span[@id='result-uuid-0']
+    Click Button    xpath=//button[@id='search-users-button-next']
+    Click Button    xpath=//input[@value='Select application']
+    Scroll Element Into View    xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment' )])[1]
+    
+    Click Element    xpath=(//li[contains(.,'Virtual Infrastructure Deployment' )])[2]
+    #Select From List    xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment')])[1]   Virtual Infrastructure Deployment
+    Click Button    xpath=//button[@id='div-updateAdminAppsRoles']
+    Click Element    xpath=//button[@id='admin-div-ok-button']
+    Click Element    xpath=//button[@id='div-confirm-ok-button']
+    Get Selenium Implicit Wait
+    Click Link    xpath=//a[@aria-label='Admins']
+    Click Element    xpath=//input[@id='dropdown1']
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment' )]
+    Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+    Element Text Should Be      xpath=(//span[contains(.,'portal')])[1]   ${Existing_User}
+    
+    
+Portal admin Delete Application Admin Existing User  
+    [Documentation]    Naviage to Admins tab
+    Click Element    xpath=(//span[contains(.,'portal')] )[1] 
+    Click Element    xpath=//*[@id='select-app-Virtual-Infrastructure-Deployment']/following::i[@id='i-delete-application']
+    Click Element    xpath=//button[@id='div-confirm-ok-button']
+    Click Button    xpath=//button[@id='div-updateAdminAppsRoles']
+    Click Element    xpath=//button[@id='admin-div-ok-button']
+    #Is Element Visible      xpath=(//span[contains(.,'Portal')] )[2]
+    #Is Element Visible    xpath=(//*[contains(.,'Portal')] )[2]
+    Element Should Not Contain     xpath=//*[@table-data='admins.adminsTableData']    portal
+    
+    
+Portal admin Add Application admin User New user
+    [Documentation]    Naviage to Users tab
+    Click Link    xpath=//a[@title='Users']
+    Page Should Contain      Users
+    Click Button    xpath=//button[@ng-click='users.openAddNewUserModal()']
+    Click Button    xpath=//button[@id='Create-New-User-button']
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.firstName']    ${App_First_Name}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.lastName']    ${App_Last_Name}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.emailAddress']    ${App_Email_Address}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginId']    ${App_LoginID}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginPwd']    ${App_Loginpwd}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck']    ${App_LoginPwdCheck}
+    Click Button    xpath=//button[@ng-click='searchUsers.addNewUserFun()']
+    Click Button    xpath=//button[@id='next-button']
+    #Scroll Element Into View    xpath=//div[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+    Click Element    xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+    Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox']
+    Set Selenium Implicit Wait    3000
+    Click Button    xpath=//button[@id='new-user-save-button']
+    Set Selenium Implicit Wait    3000
+    Go To    ${PORTAL_HOME_PAGE}
+     Click Link    xpath=//a[@title='Users']
+     Click Element    xpath=//input[@id='dropdown1']
+     Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+    Input Text    xpath=//input[@id='input-table-search']    ${App_First_Name}
+    Element Text Should Be      xpath=(//span[contains(.,'appdemo')] )[1]   ${App_First_Name}
+    
+    
+Portal admin Add Standard User New user
+    [Documentation]    Naviage to Users tab
+    Click Link    xpath=//a[@title='Users']
+    Page Should Contain      Users
+    Click Button    xpath=//button[@ng-click='users.openAddNewUserModal()']
+    Click Button    xpath=//button[@id='Create-New-User-button']
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.firstName']    ${Sta_First_Name}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.lastName']    ${Sta_Last_Name}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.emailAddress']    ${Sta_Email_Address}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginId']    ${Sta_LoginID}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginPwd']    ${Sta_Loginpwd}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck']    ${Sta_LoginPwdCheck}
+    Click Button    xpath=//button[@ng-click='searchUsers.addNewUserFun()']
+    Click Button    xpath=//button[@id='next-button']
+    #Scroll Element Into View    xpath=//div[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+    Click Element    xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+    Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox']
+    Set Selenium Implicit Wait    3000
+    Click Button    xpath=//button[@id='new-user-save-button']
+    Set Selenium Implicit Wait    3000
+    Go To    ${PORTAL_HOME_PAGE}
+     Click Link    xpath=//a[@title='Users']
+     Click Element    xpath=//input[@id='dropdown1']
+     Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+    Input Text    xpath=//input[@id='input-table-search']    ${Sta_First_Name}
+    Element Text Should Be      xpath=(//span[contains(.,'appdemo')] )[1]   ${Sta_First_Name} 
+    
+    
+    
+Portal admin Add Application Admin Exiting User -APPDEMO 
+    [Documentation]    Naviage to Admins tab
+    Wait Until Element Is Visible    xpath=//a[@title='Admins']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Click Link    xpath=//a[@title='Admins']
+    Wait Until Element Is Visible    xpath=//h1[contains(.,'Admins')]    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Page Should Contain      Admins
+    Click Button    xpath=//button[@ng-click='admins.openAddNewAdminModal()']
+    Input Text    xpath=//input[@id='input-user-search']    ${App_First_Name}   
+    Click Button    xpath=//button[@id='button-search-users']
+    Click Element    xpath=//span[@id='result-uuid-0']
+    Click Button    xpath=//button[@id='search-users-button-next']
+    Click Button    xpath=//input[@value='Select application']
+    Scroll Element Into View    xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment' )])[1]
+    
+    Click Element    xpath=(//li[contains(.,'Virtual Infrastructure Deployment' )])[2]
+    #Select From List    xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment')])[1]   Virtual Infrastructure Deployment
+    Click Button    xpath=//button[@id='div-updateAdminAppsRoles']
+    Click Element    xpath=//button[@id='admin-div-ok-button']
+    Click Element    xpath=//button[@id='div-confirm-ok-button']
+    Get Selenium Implicit Wait
+    Click Link    xpath=//a[@aria-label='Admins']
+    Click Element    xpath=//input[@id='dropdown1']
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment' )]
+    Input Text    xpath=//input[@id='input-table-search']    ${App_First_Name}
+    Element Text Should Be      xpath=(//span[contains(.,'appdemo')])[1]   ${App_First_Name}    
+    
+    
+      
+Portal admin Add Standard User Existing user   
+     [Documentation]    Naviage to Users tab
+     Click Link    xpath=//a[@title='Users']
+     Page Should Contain      Users
+     Click Button    xpath=//button[@ng-click='users.openAddNewUserModal()']
+     Input Text    xpath=//input[@id='input-user-search']    ${Existing_User}
+     Click Button    xpath=//button[@id='button-search-users']
+     Click Element    xpath=//span[@id='result-uuid-0']
+     Click Button    xpath=//button[@id='next-button']
+     Click Element    xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox']
+     #Click Element    xpath=//div[@id='div-app-name-dropdown-xDemo-App']
+     #Click Element    xpath=//div[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox']
+     
+     Set Selenium Implicit Wait    3000
+     Click Button    xpath=//button[@id='new-user-save-button']
+     Set Selenium Implicit Wait    3000
+     #Set Browser Implicit Wait    ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
+     #Select From List    xpath=//input[@value='Select application']    Virtual Infrastructure Deployment
+     #Click Link    xpath=//a[@title='Users']
+     #Page Should Contain      Users
+     #Focus    xpath=//input[@name='dropdown1']
+    
+     Go To    ${PORTAL_HOME_PAGE}
+     Click Link    xpath=//a[@title='Users']
+     Click Element    xpath=//input[@id='dropdown1']
+     Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     #Click Element    xpath=//li[contains(.,'XDemo App')]
+     Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+     Element Text Should Be      xpath=(.//*[@id='rowheader_t1_0'])[2]   Standard User
+     
+     
+Portal admin Edit Standard User Existing user  
+     [Documentation]    Naviage to Users tab
+     Click Element    xpath=(.//*[@id='rowheader_t1_0'])[2]
+     Click Element    xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox']
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='System-Administrator-checkbox']
+     Set Selenium Implicit Wait    3000
+     Click Button    xpath=//button[@id='new-user-save-button']
+     Set Selenium Implicit Wait    3000
+     Page Should Contain      Users
+     #Click Button    xpath=//input[@id='dropdown1']
+     #Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+     Element Text Should Be      xpath=(.//*[@id='rowheader_t1_0'])[2]   System Administrator
+     
+     
+ Portal admin Delete Standard User Existing user    
+     [Documentation]    Naviage to Users tab
+     Click Element    xpath=(.//*[@id='rowheader_t1_0'])[2]
+     Scroll Element Into View    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::*[@id='app-item-delete'][1]
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::*[@id='app-item-delete'][1]
+     Click Element    xpath=//button[@id='div-confirm-ok-button']
+     Click Button    xpath=//button[@id='new-user-save-button']
+     #Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+     #Is Element Visible    xpath=(//*[contains(.,'Portal')] )[2]  
+      Element Should Not Contain     xpath=//*[@table-data='users.accountUsers']    portal  
+     
+     
+     
+     
+Functional Top Menu Get Access     
+    [Documentation]    Naviage to Support tab
+     Click Link    xpath=//a[contains(.,'Support')]
+     Mouse Over    xpath=//*[contains(text(),'Get Access')]
+     Click Link    xpath=//a[contains(.,'Get Access')]
+     Element Text Should Be    xpath=//h1[contains(.,'Get Access')]    Get Access
+     
+     
+Functional Top Menu Contact Us     
+    [Documentation]    Naviage to Support tab
+     Click Link    xpath=//a[contains(.,'Support')]
+     Mouse Over    xpath=//*[contains(text(),'Contact Us')]
+     Click Link    xpath=//a[contains(.,'Contact Us')]
+     Element Text Should Be    xpath=//h1[contains(.,'Contact Us')]    Contact Us    
+     Click Image    xpath=//img[@alt='Onap Logo'] 
+     
+
+Portal admin Edit Functional menu  
+    [Documentation]    Naviage to Edit Functional menu tab
+    Click Link    xpath=//a[@title='Edit Functional Menu']
+    Click Link    xpath=.//*[@id='Manage']/div/a
+    Click Link    xpath=.//*[@id='Design']/div/a
+    Click Link    xpath=.//*[@id='Product_Design']/div/a
+    Open Context Menu    xpath=//*[@id='Product_Design']/div/span
+    Click Link    xpath=//a[@href='#add']
+    Input Text    xpath=//input[@id='input-title']    ONAP Test
+    #Input Text    xpath=//input[@id='input-url']    http://google.com
+    Click Element     xpath=//input[@id='select-app']
+    Scroll Element Into View    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+    Input Text    xpath=//input[@id='input-url']    http://google.com
+    Click Button    xpath=//button[@id='button-save-continue']
+    #Click Button    xpath=//div[@title='Select Roles']
+    Click Element    xpath=//*[@id='app-select-Select Roles']
+    Click Element    xpath=//input[@id='Standard-User-checkbox']
+    Click Element    xpath=//button[@id='button-save-add']
+    Click Image     xpath=//img[@alt='Onap Logo']
+    Set Selenium Implicit Wait    3000
+    Click Link    xpath=//a[contains(.,'Manage')]
+     Mouse Over    xpath=//*[contains(text(),'Design')]
+     Set Selenium Implicit Wait    3000
+     Element Text Should Be    xpath=//a[contains(.,'ONAP Test')]      ONAP Test  
+     Set Selenium Implicit Wait    3000
+      Click Link    xpath=//a[@title='Edit Functional Menu']
+    Click Link    xpath=.//*[@id='Manage']/div/a
+    Click Link    xpath=.//*[@id='Design']/div/a
+    Click Link    xpath=.//*[@id='Product_Design']/div/a
+    Open Context Menu    xpath=//*[@id='ONAP_Test']
+    Click Link    xpath=//a[@href='#delete']
+     Set Selenium Implicit Wait    3000
+     Click Element    xpath=//button[@id='div-confirm-ok-button']
+     Click Image     xpath=//img[@alt='Onap Logo']
+    Set Selenium Implicit Wait    3000
+    Click Link    xpath=//a[contains(.,'Manage')]
+     Mouse Over    xpath=//*[contains(text(),'Design')]
+     Set Selenium Implicit Wait    3000
+     Element Should Not Contain    xpath=(.//*[contains(.,'Design')]/following::ul[1])[1]      ONAP Test  
+     
+    
+     
+     
+    
+    
+    
+    
+Portal admin Microservice Onboarding
+     [Documentation]    Naviage to Edit Functional menu tab
+     Click Link    xpath=//a[@title='Microservice Onboarding']
+     Click Button    xpath=//button[@id='microservice-onboarding-button-add']
+     Input Text    xpath=//input[@name='name']    Test Microservice
+     Input Text    xpath=//*[@name='desc']    Test
+     Click Element    xpath=//input[@id='microservice-details-input-app']
+     Scroll Element Into View    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     Click Element     xpath=//*[@name='desc']
+     Input Text    xpath=//input[@name='url']    ${PORTAL_MICRO_ENDPOINT}
+     Click Element    xpath=//input[@id='microservice-details-input-security-type']
+     Scroll Element Into View    xpath=//li[contains(.,'Basic Authentication')]
+     Click Element    xpath=//li[contains(.,'Basic Authentication')]
+     Input Text    xpath=//input[@name='username']    ${GLOBAL_PORTAL_ADMIN_USER}
+     Input Text    xpath=//input[@name='password']    ${GLOBAL_PORTAL_ADMIN_PWD}
+     Click Button    xpath=//button[@id='microservice-details-save-button']
+     #Table Column Should Contain    xpath=//*[@table-data='serviceList']    0    Test Microservice
+     Element Text Should Be    xpath=//*[@table-data='serviceList']    Test Microservice
+     
+    
+    
+Portal Admin Create Widget for All users 
+    [Documentation]    Naviage to Create Widget menu tab
+    ${WidgetAttachment}=    Catenate    ${PORTAL_ASSETS_DIRECTORY}\\widget_news.zip
+    Click Link    xpath=//a[@title='Widget Onboarding']
+    Click Button    xpath=//button[@id='widget-onboarding-button-add']
+    Input Text    xpath=//*[@name='name']    ONAP-VID
+    Input Text    xpath=//*[@name='desc']    ONAP VID
+    Click Element    xpath=//*[@id='widgets-details-input-endpoint-url']
+    Scroll Element Into View    xpath=//li[contains(.,'Test Microservice')]
+    Click Element    xpath=//li[contains(.,'Test Microservice')]
+    Click Element    xpath=//*[contains(text(),'Allow all user access')]/preceding::input[@ng-model='widgetOnboardingDetails.widget.allUser'][1] 
+    Choose File    xpath=//input[@id='widget-onboarding-details-upload-file']    ${WidgetAttachment}
+    Click Button    xpath=//button[@id='widgets-details-save-button']
+    Wait Until Page Contains    ONAP-VID    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Page Should Contain    ONAP-VID
+     Set Selenium Implicit Wait    3000
+    GO TO    ${PORTAL_HOME_PAGE}
+    
+    
+Portal Admin Delete Widget for All users 
+     [Documentation]    Naviage to delete Widget menu tab
+     #Wait Until Page Contains    ONAP-VID    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+     #Page Should Contain    ONAP-VID
+     #Click Image    xpath=//img[@alt='Onap Logo']
+     Click Link    xpath=//a[@title='Widget Onboarding']
+     Click Element    xpath=//input[@id='dropdown1']
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     #Wait Until Page Contains    xpath=(.//*[contains(text(),'ONAP-VID')]/followi
+     #Wait Until Page Contains    xpath=(.//*[contains(text(),'ONAP-VID')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1]    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
+     Click Element    xpath=(.//*[contains(text(),'ONAP-VID')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1]
+     Click Element    xpath=//button[@id='div-confirm-ok-button']
+     Set Selenium Implicit Wait    3000
+     Element Should Not Contain     xpath=//*[@table-data='portalAdmin.portalAdminsTableData']    ONAP-VID
+     #Is Element Visible    xpath=//*[@table-data='portalAdmin.portalAdminsTableData']
+     #Table Column Should Contain    .//*[@table-data='portalAdmin.portalAdminsTableData']    0       ONAP-VID    
+     #Set Selenium Implicit Wait    3000
+    
+    
+Portal Admin Create Widget for Application Roles 
+    [Documentation]    Naviage to Create Widget menu tab 
+    ${WidgetAttachment}=    Catenate    ${PORTAL_ASSETS_DIRECTORY}\\widget_news.zip 
+    Click Link    xpath=//a[@title='Widget Onboarding'] 
+    Click Button    xpath=//button[@id='widget-onboarding-button-add'] 
+    Input Text    xpath=//*[@name='name']    ONAP-VID 
+    Input Text    xpath=//*[@name='desc']    ONAP VID 
+    Click Element    xpath=//*[@id='widgets-details-input-endpoint-url'] 
+    Scroll Element Into View    xpath=//li[contains(.,'Test Microservice')] 
+    Click Element    xpath=//li[contains(.,'Test Microservice')] 
+    Click element    xpath=//*[@id="app-select-Select Applications"] 
+    click element    xpath=//*[@id="Virtual-Infrastructure-Deployment-checkbox"] 
+    Click element    xpath=//*[@name='desc'] 
+    click element    xpath=//*[@id="app-select-Select Roles"] 
+    click element    xpath=//*[@id="Standard-User-checkbox"] 
+    Click element    xpath=//*[@name='desc'] 
+    Scroll Element Into View    xpath=//input[@id='widget-onboarding-details-upload-file'] 
+    Choose File    xpath=//input[@id='widget-onboarding-details-upload-file']    ${WidgetAttachment} 
+    Click Button    xpath=//button[@id='widgets-details-save-button'] 
+     Click Image     xpath=//img[@alt='Onap Logo']
+    Set Selenium Implicit Wait    3000
+    #Wait Until Page Contains    ONAP-VID    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Click Link    xpath=//a[@title='Widget Onboarding'] 
+    Click Element    xpath=//input[@id='dropdown1']
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+    Page Should Contain    ONAP-VID 
+    Set Selenium Implicit Wait    3000 
+    GO TO    ${PORTAL_HOME_PAGE}
+    
+    
+    
+    
+ Portal Admin Delete Widget for Application Roles 
+     [Documentation]    Naviage to delete Widget menu tab
+     #Wait Until Page Contains    ONAP-VID    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+     #Page Should Contain    ONAP-VID
+     #Click Image    xpath=//img[@alt='Onap Logo']
+     Click Link    xpath=//a[@title='Widget Onboarding']
+     Click Element    xpath=//input[@id='dropdown1']
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     #Wait Until Page Contains    xpath=(.//*[contains(text(),'ONAP-VID')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1]    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
+     Click Element    xpath=(.//*[contains(text(),'ONAP-VID')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1]
+     Click Element    xpath=//button[@id='div-confirm-ok-button']
+     Set Selenium Implicit Wait    3000
+     Element Should Not Contain     xpath=//*[@table-data='portalAdmin.portalAdminsTableData']    ONAP-VID
+     #Is Element Visible    xpath=//*[@table-data='portalAdmin.portalAdminsTableData']
+     #Table Column Should Contain    .//*[@table-data='portalAdmin.portalAdminsTableData']    0       ONAP-VID    
+     #Set Selenium Implicit Wait    3000   
+    
+    
+    
+Portal Admin Edit Widget
+    [Documentation]    Naviage to Home tab  
+    #Mouse Over    xpath=(//h3[contains(text(),'News')]/following::span[1])[1]
+    Click Element    xpath=(//h3[contains(text(),'News')]/following::span[1])[1]
+    Set Browser Implicit Wait    8000
+    #Wait Until Element Is Visible    xpath=(//h3[contains(text(),'News')]/following::span[1]/following::a[contains(text(),'Edit')])[1]    60
+    Mouse Over    xpath=(//h3[contains(text(),'News')]/following::span[1]/following::a[contains(text(),'Edit')])[1] 
+    Click Link    xpath=(//h3[contains(text(),'News')]/following::span[1]/following::a[contains(text(),'Edit')])[1]
+    Input Text    xpath=//input[@name='title']    ONAP_VID
+    Input Text    xpath=//input[@name='url']    http://about.att.com/news/international.html
+    Input Text    xpath=//input[@id='widget-input-add-order']    5
+    Click Link    xpath=//a[contains(.,'Add New')]
+    Click Element    xpath=//div[@id='close-button']
+    Element Should Contain    xpath=//*[@table-data='ignoredTableData']    ONAP_VID
+    Click Element    xpath=.//div[contains(text(),'ONAP_VID')]/following::*[contains(text(),'5')][1]/following::div[@ng-click='remove($index);'][1]
+    Click Element    xpath=//div[@id='confirmation-button-next']
+    Element Should Not Contain    xpath=//*[@table-data='ignoredTableData']    ONAP_VID
+    Click Link    xpath=//a[@id='close-button']
+    
+    
+    
+    
+Portal Admin Broadcast Notifications 
+    [Documentation]   Portal Test Admin Broadcast Notifications 
+    ${CurrentDay}=    Get Current Date    result_format=%m/%d/%Y 
+    ${NextDay}=    Get Current Date    increment=24:00:00    result_format=%m/%d/%Y 
+    ${CurrentDate}=    Get Current Date    result_format=%m%d%y%H%M
+    ${AdminBroadCastMsg}=    catenate    ONAP VID Broadcast Automation${CurrentDate} 
+    Click Image     xpath=//img[@alt='Onap Logo']
+    Set Selenium Implicit Wait    3000
+    Click Link    xpath=//*[@id="parent-item-User-Notifications"] 
+    Wait until Element is visible    xpath=//*[@id="button-openAddNewApp"]    timeout=10 
+    Click button    xpath=//*[@id="button-openAddNewApp"] 
+    Input Text    xpath=//input[@id='datepicker-start']     ${CurrentDay} 
+    Input Text    xpath=//input[@id='datepicker-end']     ${NextDay} 
+    Input Text    xpath=//*[@id="add-notification-input-title"]    ONAP VID Broadcast Automation 
+    Input Text    xpath=//*[@id="user-notif-input-message"]    ${AdminBroadCastMsg} 
+    click element    xpath=//*[@id="button-notification-save"] 
+    Wait until Element is visible    xpath=//*[@id="button-openAddNewApp"]    timeout=10 
+    click element    xpath=//*[@id="megamenu-notification-button"] 
+    click element    xpath=//*[@id="notification-history-link"] 
+    Wait until Element is visible    xpath=//*[@id="notification-history-table"]    timeout=10 
+    Table Column Should Contain    xpath=//*[@id="notification-history-table"]    2    ${AdminBroadCastMsg} 
+    log    ${AdminBroadCastMsg} 
+    [Return]     ${AdminBroadCastMsg}
+        
+Portal Admin Category Notifications 
+    [Documentation]   Portal Admin Broadcast Notifications 
+    ${CurrentDay}=    Get Current Date    result_format=%m/%d/%Y 
+    ${NextDay}=    Get Current Date    increment=24:00:00    result_format=%m/%d/%Y 
+    ${CurrentDate}=    Get Current Date    result_format=%m%d%y%H%M
+    ${AdminCategoryMsg}=    catenate    ONAP VID Category Automation${CurrentDate} 
+    Click Link    xpath=//a[@id='parent-item-Home'] 
+    Click Link    xpath=//*[@id="parent-item-User-Notifications"] 
+    Wait until Element is visible    xpath=//*[@id="button-openAddNewApp"]    timeout=10 
+    Click button    xpath=//*[@id="button-openAddNewApp"]
+    #Select Radio Button    NO     radio-button-no
+    Click Element    //*[contains(text(),'Broadcast to All Categories')]/following::*[contains(text(),'No')][1]
+    #Select Radio Button    //label[@class='radio']    radio-button-approles
+    Click Element    xpath=//*[contains(text(),'Categories')]/following::*[contains(text(),'Application Roles')][1]
+    Click Element    xpath=//*[contains(text(),'Virtual Infrastructure Deployment')]/preceding::input[@ng-model='member.isSelected'][1] 
+    Input Text    xpath=//input[@id='datepicker-start']     ${CurrentDay} 
+    Input Text    xpath=//input[@id='datepicker-end']     ${NextDay} 
+    Input Text    xpath=//*[@id="add-notification-input-title"]    ONAP VID Category Automation 
+    Input Text    xpath=//*[@id='user-notif-input-message']    ${AdminCategoryMsg} 
+    click element    xpath=//*[@id="button-notification-save"] 
+    Wait until Element is visible    xpath=//*[@id="button-openAddNewApp"]    timeout=10 
+    click element    xpath=//*[@id="megamenu-notification-button"] 
+    click element    xpath=//*[@id="notification-history-link"] 
+    Wait until Element is visible    xpath=//*[@id="notification-history-table"]    timeout=10 
+    Table Column Should Contain    xpath=//*[@id="notification-history-table"]    2    ${AdminCategoryMsg} 
+    log    ${AdminCategoryMsg}   
+     [Return]     ${AdminCategoryMsg}  
+    
+    
+ Portal admin Logout from Portal GUI
+    [Documentation]   Logout from Portal GUI
+    Click Element    xpath=//div[@id='header-user-icon']
+    Click Button    xpath=//button[contains(.,'Log out')]
+    Title Should Be    Login
+    
+    
+    
+Application admin Login To Portal GUI
+    [Documentation]   Logs into Portal GUI
+    # Setup Browser Now being managed by test case
+    ##Setup Browser
+    Go To    ${PORTAL_LOGIN_URL}
+    Maximize Browser Window
+    Set Selenium Speed    ${GLOBAL_SELENIUM_DELAY}
+    Set Browser Implicit Wait    ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
+    Log    Logging in to ${GLOBAL_PORTAL_SERVER}${PORTAL_ENV}
+   # Handle Proxy Warning
+    Title Should Be    Login
+    Input Text    xpath=//input[@ng-model='loginId']    ${GLOBAL_APP_ADMIN_USER}
+    Input Password    xpath=//input[@ng-model='password']    ${GLOBAL_APP_ADMIN_PWD}
+    Click Link    xpath=//a[@id='loginBtn']
+    Wait Until Page Contains Element    xpath=//img[@alt='Onap Logo']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}    
+    Log    Logged in to ${GLOBAL_PORTAL_SERVER}${PORTAL_ENV}    
+    
+Application Admin Navigation Application Link Tab    
+    [Documentation]   Logs into Portal GUI as application admin
+    Click Link    xpath=//a[@id='parent-item-Home']
+    Click Element    xpath=.//h3[contains(text(),'Virtual Infras...')]/following::div[1]
+    Page Should Contain    Welcome to VID
+    Click Element    xpath=//i[@class='ion-close-round']    
+    Click Element    xpath=(.//span[@id='tab-Home'])[1]
+    
+    
+Application Admin Navigation Functional Menu     
+    [Documentation]   Logs into Portal GUI as application admin
+    Click Link    xpath=//a[contains(.,'Manage')]
+     Mouse Over    xpath=//*[contains(text(),'Technology Insertion')]
+     Click Link    xpath= //*[contains(text(),'Infrastructure VNF Provisioning')] 
+     Page Should Contain    Welcome to VID
+     Click Element    xpath=//i[@class='ion-close-round']
+     Click Element    xpath=(.//span[@id='tab-Home'])[1]
+     
+     
+Application admin Add Standard User Existing user   
+     [Documentation]    Naviage to Users tab
+     Click Link    xpath=//a[@title='Users']
+     Page Should Contain      Users
+     Click Button    xpath=//button[@ng-click='users.openAddNewUserModal()']
+     Input Text    xpath=//input[@id='input-user-search']    ${Existing_User}
+     Click Button    xpath=//button[@id='button-search-users']
+     Click Element    xpath=//span[@id='result-uuid-0']
+     Click Button    xpath=//button[@id='next-button']
+     Click Element    xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox']
+     Set Selenium Implicit Wait    3000
+     Click Button    xpath=//button[@id='new-user-save-button']
+     Set Selenium Implicit Wait    3000
+     #Set Browser Implicit Wait    ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
+     #Select From List    xpath=//input[@value='Select application']    Virtual Infrastructure Deployment
+     #Click Link    xpath=//a[@title='Users']
+     #Page Should Contain      Users
+     Go To    ${PORTAL_HOME_PAGE}
+     Set Selenium Implicit Wait    3000
+     Click Link    xpath=//a[@title='Users']
+     Click Element    xpath=//input[@id='dropdown1']
+     Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+     Element Text Should Be      xpath=(.//*[@id='rowheader_t1_0'])[2]   Standard User
+     
+     
+Application admin Edit Standard User Existing user  
+     [Documentation]    Naviage to Users tab
+     Click Element    xpath=(.//*[@id='rowheader_t1_0'])[2]
+     Click Element    xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox']
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='System-Administrator-checkbox']
+     Set Selenium Implicit Wait    3000
+     Click Button    xpath=//button[@id='new-user-save-button']
+     Set Selenium Implicit Wait    3000
+     Page Should Contain      Users
+     #Click Button    xpath=//input[@id='dropdown1']
+     #Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+     Element Text Should Be      xpath=(.//*[@id='rowheader_t1_0'])[2]   System Administrator
+     
+     
+Application admin Delete Standard User Existing user    
+     [Documentation]    Naviage to Users tab
+     Click Element    xpath=(.//*[@id='rowheader_t1_0'])[2]
+     Scroll Element Into View    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::*[@id='app-item-delete'][1]
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::*[@id='app-item-delete'][1]
+     Click Element    xpath=//button[@id='div-confirm-ok-button']
+     Click Button    xpath=//button[@id='new-user-save-button']
+     #Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+     #Is Element Visible    xpath=(//*[contains(.,'Portal')] )[2] 
+     Element Should Not Contain     xpath=//*[@table-data='users.accountUsers']    Portal   
+     
+     
+     
+Application admin Logout from Portal GUI
+    [Documentation]   Logout from Portal GUI
+    Click Element    xpath=//div[@id='header-user-icon']
+    Click Button    xpath=//button[contains(.,'Log out')]
+    #Confirm Action	
+    Title Should Be    Login   
+    
+    
+Standared user Login To Portal GUI
+    [Documentation]   Logs into Portal GUI
+    # Setup Browser Now being managed by test case
+    ##Setup Browser
+    Go To    ${PORTAL_LOGIN_URL}
+    Maximize Browser Window
+    Set Selenium Speed    ${GLOBAL_SELENIUM_DELAY}
+    Set Browser Implicit Wait    ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
+    Log    Logging in to ${GLOBAL_PORTAL_SERVER}${PORTAL_ENV}
+   # Handle Proxy Warning
+    Title Should Be    Login
+    Input Text    xpath=//input[@ng-model='loginId']    ${GLOBAL_STA_USER_USER}
+    Input Password    xpath=//input[@ng-model='password']    ${GLOBAL_STA_USER_PWD}
+    Click Link    xpath=//a[@id='loginBtn']
+    Wait Until Page Contains Element    xpath=//img[@alt='Onap Logo']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}    
+    Log    Logged in to ${GLOBAL_PORTAL_SERVER}${PORTAL_ENV}       
+     
+ 
+Standared user Navigation Application Link Tab    
+    [Documentation]   Logs into Portal GUI as application admin
+    #Portal admin Go To Portal HOME
+    Click Element    xpath=.//h3[contains(text(),'Virtual Infras...')]/following::div[1]
+    Page Should Contain    Welcome to VID    
+    Click Element    xpath=(.//span[@id='tab-Home'])[1]
+    
+    
+Standared user Navigation Functional Menu     
+    [Documentation]   Logs into Portal GUI as application admin
+    Click Link    xpath=//a[contains(.,'Manage')]
+     Mouse Over    xpath=//*[contains(text(),'Technology Insertion')]
+     Click Link    xpath= //*[contains(text(),'Infrastructure VNF Provisioning')] 
+     Page Should Contain    Welcome to VID
+     Click Element    xpath=(.//span[@id='tab-Home'])[1]   
+     
+     
+     
+Standared user Broadcast Notifications 
+    [Documentation]   Logs into Portal GUI as application admin 
+    [Arguments]    ${AdminBroadCastMsg}
+    Click element    xpath=//*[@id='megamenu-notification-button'] 
+    Click element    xpath=//*[@id='notification-history-link'] 
+    Wait until Element is visible    xpath=//*[@id='app-title']    timeout=10 
+    Table Column Should Contain    xpath=//*[@id='notification-history-table']    2    ${AdminBroadCastMsg} 
+    log    ${AdminBroadCastMsg}   
+    
+   
+Standared user Category Notifications 
+    [Documentation]   Logs into Portal GUI as application admin 
+    [Arguments]    ${AdminCategoryMsg}
+    #click element    xpath=//*[@id='megamenu-notification-button'] 
+    #click element    xpath=//*[@id="notification-history-link"] 
+    Wait until Element is visible    xpath=//*[@id='app-title']    timeout=10 
+    Table Column Should Contain    xpath=//*[@id='notification-history-table']    2    ${AdminCategoryMsg} 
+    log    ${AdminCategoryMsg} 
+    
+    
+Standared user Logout from Portal GUI
+    [Documentation]   Logout from Portal GUI
+    Click Element    xpath=//div[@id='header-user-icon']
+    Click Button    xpath=//button[contains(.,'Log out')]
+    #Confirm Action	
+    Title Should Be    Login     
+        
+     
+     
+     
+Tear Down     
+    [Documentation]   Close all browsers
+    Close All Browsers
+    
+
+ 
+ 
+ 
+    
+    
diff --git a/test/csit/tests/portal/testsuites/test1.robot b/test/csit/tests/portal/testsuites/test1.robot
new file mode 100644
index 0000000..c196558
--- /dev/null
+++ b/test/csit/tests/portal/testsuites/test1.robot
@@ -0,0 +1,75 @@
+*** Settings ***
+Documentation    This is RobotFrame work script
+Library    ExtendedSelenium2Library
+Library    OperatingSystem
+Resource   ../resources/browser_setup.robot
+#Resource    ../resources/Portal/portal_int_par.robot
+Resource    ../resources/Portal/portal_VID.robot
+#Resource    ../resources/Portal/portal_SDC.robot
+
+
+*** Variables ***
+
+
+*** Test Cases ***
+
+Portal Health Check    
+     Run Portal Health Check
+
+
+Portal Admin functionality 
+    [Documentation]    ONAP Portal Admin functionality  test
+    Setup Browser
+     Portal admin Login To Portal GUI
+    Portal admin Microservice Onboarding
+    Portal Admin Create Widget for All users
+    Portal Admin Delete Widget for All users 
+    Portal Admin Create Widget for Application Roles
+    Portal Admin Delete Widget for Application Roles 
+    Portal admin Add Application admin User New user
+    Portal admin Add Standard User New user
+    Portal admin Add Application Admin Exiting User -APPDEMO
+    Portal admin Add Application Admin Exiting User 
+    Portal admin Delete Application Admin Existing User
+    Portal Admin Delete Widget for All users
+    Portal admin Add Standard User Existing user  
+    Portal admin Edit Standard User Existing user 
+    Portal admin Delete Standard User Existing user
+    Functional Top Menu Get Access   
+    Functional Top Menu Contact Us
+    Portal admin Edit Functional menu
+    ${AdminBroadCastMsg}=    Portal Admin Broadcast Notifications 
+    set global variable    ${AdminBroadCastMsg}
+    ${AdminCategoryMsg}=   Portal Admin Category Notifications
+    set global variable    ${AdminCategoryMsg}
+    Portal admin Logout from Portal GUI
+    
+    
+Application Admin functionality 
+   [Documentation]    ONAP Application Admin functionality test 
+   Application admin Login To Portal GUI
+#   Application Admin Navigation Application Link Tab 
+#  Application Admin Navigation Functional Menu
+   Application admin Add Standard User Existing user  
+   Application admin Edit Standard User Existing user 
+   Application admin Delete Standard User Existing user
+   Application admin Logout from Portal GUI
+    
+Standared User functionality 
+    [Documentation]    ONAP Standared User functionality test     
+     Standared user Login To Portal GUI
+#     Standared user Navigation Application Link Tab
+#     Standared user Navigation Functional Menu 
+     Standared user Broadcast Notifications    ${AdminBroadCastMsg} 
+     Standared user Category Notifications    ${AdminCategoryMsg} 
+   
+Teardown  
+    [Documentation]    Close All Open browsers     
+    Close All Browsers   
+    
+
+    
+
+    
+
+*** Keywords ***