*** Settings *** Documentation This is RobotFrame work script Library SeleniumLibrary Library OperatingSystem Library RequestsLibrary Library UUID Library DateTime Library Collections Library StringTemplater Library String Resource ../json_templater.robot Resource ../browser_setup.robot *** Variables *** #${PORTAL_URL} http://portal.api.simpledemo.onap.org:8989 ${PORTAL_URL} ${GLOBAL_PORTAL_SERVER_PROTOCOL}://${GLOBAL_INJECTED_PORTAL_IP_ADDR}:${GLOBAL_PORTAL_SERVER_PORT} ${PORTAL_ENV} /ONAPPORTAL ${PORTAL_LOGIN_URL} ${PORTAL_URL}${PORTAL_ENV}/login.htm ${PORTAL_HOME_PAGE} ${PORTAL_URL}${PORTAL_ENV}/applicationsHome ${PORTAL_MICRO_ENDPOINT} ${PORTAL_URL}${PORTAL_ENV}/commonWidgets ${PORTAL_HOME_URL} ${PORTAL_URL}${PORTAL_ENV}/applicationsHome ${PORTAL_HEALTH_CHECK_PATH} ${PORTAL_ENV}/portalApi/healthCheck ${PORTAL_XDEMPAPP_REST_URL} ${PORTAL_URL}/ONAPPORTALSDK/api/v2 ${PORTAL_ASSETS_DIRECTORY} ../../assets/widgets/ ${GLOBAL_APPLICATION_ID} robot-functional ${GLOBAL_PORTAL_ADMIN_USER} demo ${GLOBAL_PORTAL_ADMIN_PWD} demo123456! ${GLOBAL_MSO_STATUS_PATH} /ecomp/mso/infra/orchestrationRequests/v2/ ${GLOBAL_BUILD_NUMBER} 0 ${GLOBAL_VM_PRIVATE_KEY} ${EXECDIR}/robot/assets/keys/robot_ssh_private_key.pvt ${jira} jira ${RESOURCE_PATH} ${PORTAL_URL}/auxapi/ticketevent ${portal_Template} ${CURDIR}/portal.template ${download_link_id} 0 *** Keywords *** Generate Random User Name ${RAND} Generate Random String 4 [NUMBERS] ${App_LoginID}= Set Variable demoapp${RAND} ${App_Email_Address}= Set Variable demoapp${RAND}@onap.com ${Sta_LoginID}= Set Variable demosta${RAND} ${Sta_Email_Address}= Set Variable demosta${RAND}@onap.com ${Test_LoginID}= Set Variable portal${RAND} ${Test_Email_Address}= Set Variable portal${RAND}@onap.com ${AppUserName}= Set Variable testApp${RAND} ${AppPassword}= Set Variable testApp${RAND}123! Set Suite Variable ${App_LoginID} Set Suite Variable ${App_Email_Address} Set Suite Variable ${Sta_LoginID} Set Suite Variable ${Sta_Email_Address} Set Suite Variable ${Test_LoginID} Set Suite Variable ${Test_Email_Address} Set Suite Variable ${AppUserName} Set Suite Variable ${AppPassword} Portal admin Login To Portal GUI [Documentation] Logs into Portal GUI ## Setup Browser Now being managed by test case Set Selenium Speed ${GLOBAL_SELENIUM_DELAY} Setup Browser # Open Browser ${PORTAL_LOGIN_URL} chrome Go To ${PORTAL_LOGIN_URL} # Maximize Browser Window Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} Log Logging in to ${PORTAL_URL}${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'] Sleep 5s Go To ${PORTAL_HOME_URL} Wait Until Page Contains Element xpath=//img[@alt='Onap Logo'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} #Execute Javascript document.getElementById('w-ecomp-footer').style.display = 'none' Log Logged in to ${PORTAL_URL}${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 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='toggleSidebar()'] Click Button xpath=//button[@ng-click='admins.openAddNewAdminModal()'] Input Text xpath=//input[@id='input-user-search'] ${Test_LoginID} 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(),'xDemo App' )])[1] Click Element xpath=(//li[contains(.,'xDemo App' )])[2] #Scroll Element Into View xpath=(//input[@value='Select application']/following::*[contains(text(),'Default' )])[1] #Click Element xpath=(//li[contains(.,'Default' )])[2] #Select From List xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App')])[1] xDemo App 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(.,'Default' )] Click Element xpath=//li[contains(.,'xDemo App' )] Input Text xpath=//input[@id='input-table-search'] ${Test_LoginID} Table Column Should Contain xpath=//*[@table-data='admins.adminsTableData'] 1 ${Test_LoginID} #Element Text Should Be xpath=(//span[contains(.,'portal')])[1] ${Test_LoginID} #Element Text Should Be xpath=(//span[contains(.,'demo')])[1] ${Test_LoginID} Portal admin Delete Application Admin Existing 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='toggleSidebar()'] Input Text xpath=//input[@id='input-table-search'] ${Test_LoginID} Click Element xpath=(//span[contains(.,'portal')] )[1] #Click Element xpath=(//span[contains(.,'demo')] )[1] Click Element xpath=//*[@id='select-app-xDemo-App']/following::i[@id='i-delete-application'] #Click Element xpath=//*[@id='select-app-Default']/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 #Element Should Not Contain xpath=//*[@table-data='admins.adminsTableData'] demo Click Image xpath=//img[@alt='Onap Logo'] Set Selenium Implicit Wait 3000 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='toggleSidebar()'] Click Button xpath=//button[@id='users-button-add'] Click Button xpath=//button[@id='Create-New-User-button'] Input Text xpath=//input[@ng-model='searchUsers.newUser.firstName'] ${App_LoginID} Input Text xpath=//input[@ng-model='searchUsers.newUser.lastName'] ${GLOBAL_PORTAL_ADMIN_USER} 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'] ${GLOBAL_PORTAL_ADMIN_PWD} Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck'] ${GLOBAL_PORTAL_ADMIN_PWD} Click Button xpath=//button[@ng-click='searchUsers.addNewUserFun()'] ${Result}= Get Element Count xpath=//*[contains(text(),'User with same loginId already exists')] #log ${Result} #${type_result}= Evaluate type(${Result}) #log ${type_result} Run Keyword if '${Result}'== 0 AdminUser does not exist already ... ELSE Goto Home Image Set Selenium Implicit Wait 3000 Goto Home Image Click Image xpath=//img[@alt='Onap Logo'] AdminUser does not exist already Click Button xpath=//button[@id='next-button'] #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-xDemo-App'] Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App'] Click Element xpath=//*[@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 Go To ${PORTAL_HOME_PAGE} Click Link xpath=//a[@title='Users'] Click Element xpath=//input[@id='dropdown1'] Click Element xpath=//li[contains(.,'xDemo App')] Table Column Should Contain xpath=//*[@table-data='users.accountUsers'] 1 ${App_LoginID} #Input Text xpath=//input[@id='input-table-search'] ${App_LoginID} #Element Text Should Be xpath=(//span[contains(.,'demoapp')] )[1] ${App_LoginID} Click Image xpath=//img[@alt='Onap Logo'] Set Selenium Implicit Wait 3000 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='toggleSidebar()'] Click Button xpath=//button[@id='users-button-add'] Click Button xpath=//button[@id='Create-New-User-button'] Input Text xpath=//input[@ng-model='searchUsers.newUser.firstName'] ${Sta_LoginID} Input Text xpath=//input[@ng-model='searchUsers.newUser.lastName'] ${GLOBAL_PORTAL_ADMIN_USER} 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'] ${GLOBAL_PORTAL_ADMIN_PWD} Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck'] ${GLOBAL_PORTAL_ADMIN_PWD} Click Button xpath=//button[@ng-click='searchUsers.addNewUserFun()'] ${Result}= Get Element Count xpath=//*[contains(text(),'User with same loginId already exists')] #log ${Result} #${type_result}= Evaluate type(${Result}) #log ${type_result} Run Keyword if '${Result}'== 0 StaUser does not exist already ... ELSE Goto Home Image Set Selenium Implicit Wait 3000 StaUser does not exist already Click Button xpath=//button[@id='next-button'] #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-xDemo-App'] Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App'] Click Element xpath=//*[@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 Go To ${PORTAL_HOME_PAGE} Click Link xpath=//a[@title='Users'] Click Element xpath=//input[@id='dropdown1'] Click Element xpath=//li[contains(.,'xDemo App')] Table Column Should Contain xpath=//*[@table-data='users.accountUsers'] 1 ${Sta_LoginID} #Input Text xpath=//input[@id='input-table-search'] ${Sta_LoginID} #Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${Sta_LoginID} Click Image xpath=//img[@alt='Onap Logo'] Set Selenium Implicit Wait 3000 Portal admin Add Application admin User New user -Test [Documentation] Naviage to Users tab Click Link xpath=//a[@title='Users'] Page Should Contain Users Click Button xpath=//button[@ng-click='toggleSidebar()'] Click Button xpath=//button[@id='users-button-add'] Click Button xpath=//button[@id='Create-New-User-button'] Input Text xpath=//input[@ng-model='searchUsers.newUser.firstName'] ${Test_LoginID} Input Text xpath=//input[@ng-model='searchUsers.newUser.lastName'] ${GLOBAL_PORTAL_ADMIN_USER} Input Text xpath=//input[@ng-model='searchUsers.newUser.emailAddress'] ${Test_Email_Address} Input Text xpath=//input[@ng-model='searchUsers.newUser.loginId'] ${Test_LoginID} Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwd'] ${GLOBAL_PORTAL_ADMIN_PWD} Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck'] ${GLOBAL_PORTAL_ADMIN_PWD} Click Button xpath=//button[@ng-click='searchUsers.addNewUserFun()'] Click Button xpath=//button[@id='search-users-button-cancel'] Click Image xpath=//img[@alt='Onap Logo'] Set Selenium Implicit Wait 3000 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='toggleSidebar()'] Click Button xpath=//button[@ng-click='admins.openAddNewAdminModal()'] Input Text xpath=//input[@id='input-user-search'] ${App_LoginID} 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(),'xDemo App' )])[1] Click Element xpath=(//li[contains(.,'xDemo App' )])[2] #Select From List xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App')])[1] xDemo App 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(.,'xDemo App' )] Input Text xpath=//input[@id='input-table-search'] ${App_LoginID} #Element Text Should Be xpath=(//span[contains(.,'appdemo')])[1] ${App_LoginID} Table Column Should Contain xpath=//*[@table-data='admins.adminsTableData'] 1 ${App_LoginID} Click Image xpath=//img[@alt='Onap Logo'] Set Selenium Implicit Wait 3000 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='toggleSidebar()'] Click Button xpath=//button[@ng-click='users.openAddNewUserModal()'] Input Text xpath=//input[@id='input-user-search'] ${Test_LoginID} 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-Default'] #Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Standard-User-checkbox'] Click Element xpath=//div[@id='app-select-Select roles1'] Click Element xpath=//div[@id='app-select-Select roles1']/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'] xDemo App #Click Link xpath=//a[@title='Users'] #Page Should Contain Users #Focus xpath=//input[@name='dropdown1'] Go To ${PORTAL_HOME_PAGE} Portal admin Edit Standard User Existing user [Documentation] Naviage to Users tab Click Link xpath=//a[@title='Users'] Click Element xpath=//input[@id='dropdown1'] #Click Element xpath=//li[contains(.,'Default')] #Set Selenium Implicit Wait 3000 Click Element xpath=//li[contains(.,'xDemo App')] #Set Selenium Implicit Wait 3000 Input Text xpath=//input[@id='input-table-search'] ${Test_LoginID} Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Standard User Click Element xpath=(.//*[@id='rowheader_t1_0'])[2] #Click Element xpath=//*[@id='div-app-name-dropdown-Default'] #Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Standard-User-checkbox'] #Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Portal-Notification-Admin-checkbox'] Click Element xpath=//*[@id='app-select-Standard User1'] Click Element xpath=//*[@id='app-select-Standard User1']/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 Page Should Contain Users Click Button xpath=//button[@ng-click='toggleSidebar()'] Click Button xpath=//button[@ng-click='users.openAddNewUserModal()'] Input Text xpath=//input[@id='input-user-search'] ${Test_LoginID} 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=//div[@id='app-select-Select roles1'] Click Element xpath=//div[@id='app-select-Select roles1']/following::input[@id='System-Administrator-checkbox'] Set Selenium Implicit Wait 3000 #Click Element xpath=//*[@id='app-select-Standard User1'] #Click Element xpath=//*[@id='app-select-Standard User1']/following::input[@id='System-Administrator-checkbox'] # Click Element xpath=//*[@id='div-app-name-dropdown-SDC'] # Click Element xpath=//*[@id='div-app-name-SDC']/following::input[@id='Standard-User-checkbox'] # Click Element xpath=//*[@id='div-app-name-SDC']/following::input[@id='Portal-Notification-Admin-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(.,'xDemo App')] Input Text xpath=//input[@id='input-table-search'] ${Test_LoginID} #Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Portal Notification Admin Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] System Administrator Set Selenium Implicit Wait 3000 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-Default']/following::*[@id='app-item-delete'][1] #Click Element xpath=//*[@id='div-app-name-Default']/following::*[@id='app-item-delete'][1] Set Selenium Implicit Wait 9000 Scroll Element Into View xpath=//*[@id='div-app-name-xDemo-App']/following::*[@id='app-item-delete'][1] Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::*[@id='app-item-delete'][1] #Scroll Element Into View xpath=//*[@id='div-app-name-SDC']/following::*[@id='app-item-delete'][1] #Click Element xpath=//*[@id='div-app-name-SDC']/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'] ${Test_LoginID} #Is Element Visible xpath=(//*[contains(.,'Portal')] )[2] Element Should Not Contain xpath=//*[@table-data='users.accountUsers'] Portal #Element Should Not Contain xpath=//*[@table-data='users.accountUsers'] demo Set Selenium Implicit Wait 3000 Functional Top Menu Get Access [Documentation] Naviage to Support tab Go To ${PORTAL_HOME_URL} 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 Set Selenium Implicit Wait 3000 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'] Set Selenium Implicit Wait 3000 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(.,'xDemo App')] Click Element xpath=//li[contains(.,'xDemo App')] 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 Image xpath=//img[@alt='Onap Logo'] 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 Set Selenium Implicit Wait 3000 Click Image xpath=//img[@alt='Onap Logo'] Set Selenium Implicit Wait 3000 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(.,'xDemo App')] Click Element xpath=//li[contains(.,'xDemo App')] 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'] 1 Test Microservice #Element Text Should Be xpath=//*[@table-data='serviceList'] Test Microservice Set Selenium Implicit Wait 3000 Portal admin Microservice Delete [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'] TestMS Input Text xpath=//*[@name='desc'] TestMS Click Element xpath=//input[@id='microservice-details-input-app'] Scroll Element Into View xpath=//li[contains(.,'xDemo App')] Click Element xpath=//li[contains(.,'xDemo App')] 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'] Execute Javascript window.scrollTo(0,document.body.scrollHeight); Click Element xpath=(.//*[contains(text(),'TestMS')]/following::*[@ng-click='microserviceOnboarding.deleteService(rowData)'])[1] Click Button xpath=//button[@id="div-confirm-ok-button"] Set Selenium Implicit Wait 3000 Portal Admin Create Widget for All users [Documentation] Navigate to Create Widget menu tab ${WidgetAttachment}= Catenate ${PORTAL_ASSETS_DIRECTORY}news_widget.zip Wait until page contains Element xpath=//a[@title='Widget Onboarding'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Click Link xpath=//a[@title='Widget Onboarding'] Click Button xpath=//button[@ng-click='toggleSidebar()'] Click Button xpath=//button[@id='widget-onboarding-button-add'] Input Text xpath=//*[@name='name'] ONAP-xDemo Input Text xpath=//*[@name='desc'] ONAP xDemo Click Element xpath=//*[@id='widgets-details-input-endpoint-url'] Scroll Element Into View xpath=//li[contains(.,'News Microservice')] Click Element xpath=//li[contains(.,'News 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-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Page Should Contain ONAP-xDemo 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-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} #Page Should Contain ONAP-xDemo #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(.,'xDemo App')] #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-xDemo')]/followi #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-xDemo')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Click Button xpath=//button[@ng-click='toggleSidebar()'] Click Element xpath=(.//*[contains(text(),'ONAP-xDemo')]/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-xDemo #Is Element Visible xpath=//*[@table-data='portalAdmin.portalAdminsTableData'] #Table Column Should Contain .//*[@table-data='portalAdmin.portalAdminsTableData'] 0 ONAP-xDemo #Set Selenium Implicit Wait 3000 Portal Admin Create Widget for Application Roles [Documentation] Naviage to Create Widget menu tab ${WidgetAttachment}= Catenate ${PORTAL_ASSETS_DIRECTORY}news_widget.zip Click Link xpath=//a[@title='Widget Onboarding'] Click Button xpath=//button[@ng-click='toggleSidebar()'] Click Button xpath=//button[@id='widget-onboarding-button-add'] Input Text xpath=//*[@name='name'] ONAP-xDemo Input Text xpath=//*[@name='desc'] ONAP xDemo Click Element xpath=//*[@id='widgets-details-input-endpoint-url'] Scroll Element Into View xpath=//li[contains(.,'News Microservice')] Click Element xpath=//li[contains(.,'News Microservice')] Click element xpath=//*[@id="app-select-Select Applications"] Click element xpath=//*[@id="xDemo-App-checkbox"] Click element xpath=//*[@name='desc'] Click element xpath=//*[@id="app-select-Select Roles0"] 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-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Click Link xpath=//a[@title='Widget Onboarding'] Click Element xpath=//input[@id='dropdown1'] Click Element xpath=//li[contains(.,'xDemo App')] Page Should Contain ONAP-xDemo Set Selenium Implicit Wait 3000 GO TO ${PORTAL_HOME_PAGE} Portal Admin Delete Widget for Application Roles #Wait Until Page Contains ONAP-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} #Page Should Contain ONAP-xDemo #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(.,'xDemo App')] #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-xDemo')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Click Button xpath=//button[@ng-click='toggleSidebar()'] Scroll Element Into View xpath=//*[contains(text(),'ONAP-xDemo')]/following::td[3]/div Click Element xpath=//*[contains(text(),'ONAP-xDemo')]/following::td[3]/div Click Element xpath=//button[@id='div-confirm-ok-button'] Set Selenium Implicit Wait 3000 Element Should Not Contain xpath=//*[@table-data='portalAdmin.portalAdminsTableData'] ONAP-xDemo 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'] Set Selenium Implicit Wait 3000 Portal Admin Broadcast Notifications [Documentation] Portal Test Admin Broadcast Notifications ${CurrentDay}= Get Current Date increment=24:00:00 result_format=%m/%d/%Y ${NextDay}= Get Current Date increment=48:00:00 result_format=%m/%d/%Y ${CurrentDate}= Get Current Date increment=24:00:00 result_format=%m%d%y%H%M ${AdminBroadCastMsg}= catenate ONAP VID Broadcast Automation${CurrentDate} Go To ${PORTAL_HOME_URL} 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"] # Notification bug, Uncomment the code when PORTAL-232 is fixed # Wait until Element is visible xpath=//*[@id="notification-history-table"] timeout=10 # Table Column Should Contain xpath=//*[@id="notification-history-table"] 2 ${AdminBroadCastMsg} Set Selenium Implicit Wait 3000 log ${AdminBroadCastMsg} [Return] ${AdminBroadCastMsg} Portal Admin Category Notifications [Documentation] Portal Admin Broadcast Notifications ${CurrentDay}= Get Current Date increment=24:00:00 result_format=%m/%d/%Y ${NextDay}= Get Current Date increment=48:00:00 result_format=%m/%d/%Y #${CurrentDay}= Get Current Date result_format=%m/%d/%Y ${CurrentDate}= Get Current Date increment=24:00:00 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(),'xDemo App')]/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"] # Notification bug, Uncomment the code when PORTAL-232 is fixed # Wait until Element is visible xpath=//*[@id="notification-history-table"] timeout=10 # Table Column Should Contain xpath=//*[@id="notification-history-table"] 2 ${AdminCategoryMsg} Set Selenium Implicit Wait 3000 log ${AdminCategoryMsg} [Return] ${AdminCategoryMsg} Portal admin Logout from Portal GUI [Documentation] Logout from Portal GUI Click Element xpath=//div[@id='header-user-icon'] Run Keyword And Ignore Error Click Button xpath=//button[contains(.,'Log out')] # TODO: Rework Logout tests to deal with intermittent "document unloaded while waiting for result" errors # Sleep 5s # 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} Title Should Be Login Input Text xpath=//input[@ng-model='loginId'] ${App_LoginID} Input Password xpath=//input[@ng-model='password'] ${GLOBAL_PORTAL_ADMIN_PWD} Click Link xpath=//a[@id='loginBtn'] Sleep 5s Go To ${PORTAL_HOME_URL} Wait Until Page Contains Element xpath=//img[@alt='Onap Logo'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Log Logged in to ${PORTAL_URL}${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(),'xDemo App')]/following::div[1] Page Should Contain ONAP Portal Scroll Element Into View xpath=//i[@class='ion-close-round'] Click Element xpath=//i[@class='ion-close-round'] Set Selenium Implicit Wait 3000 #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 ONAP Portal 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='toggleSidebar()'] Click Button xpath=//button[@ng-click='users.openAddNewUserModal()'] Input Text xpath=//input[@id='input-user-search'] ${Test_LoginID} 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-xDemo-App'] Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox'] # Click Element xpath=//*[@id='div-app-name-dropdown-Default'] # Click Element xpath=//*[@id='div-app-name-Default']/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'] xDemo App #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(.,'Default')] Click Element xpath=//li[contains(.,'xDemo App')] Input Text xpath=//input[@id='input-table-search'] ${Test_LoginID} #Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Account Administrator 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-Default'] #Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Standard-User-checkbox'] #Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Portal-Notification-Admin-checkbox'] Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App'] Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox'] Click Element xpath=//*[@id='div-app-name-xDemo-App']/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(.,'xDemo App')] Input Text xpath=//input[@id='input-table-search'] ${Test_LoginID} #Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Account Administrator 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-Default']/following::*[@id='app-item-delete'][1] #Click Element xpath=//*[@id='div-app-name-Default']/following::*[@id='app-item-delete'][1] Scroll Element Into View xpath=//*[@id='div-app-name-xDemo-App']/following::*[@id='app-item-delete'][1] Click Element xpath=//*[@id='div-app-name-xDemo-App']/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'] ${Test_LoginID} #Is Element Visible xpath=(//*[contains(.,'Portal')] )[2] Element Should Not Contain xpath=//*[@table-data='users.accountUsers'] Portal #Click Image xpath=//img[@alt='Onap Logo'] Set Selenium Implicit Wait 3000 Application admin Logout from Portal GUI [Documentation] Logout from Portal GUI Click Element xpath=//div[@id='header-user-icon'] #Set Selenium Implicit Wait 3000 Run Keyword And Ignore Error Click Button xpath=//button[contains(text(),'Log out')] #Set Selenium Implicit Wait 3000 # TODO: Rework Logout tests to deal with intermittent "document unloaded while waiting for result" errors # Sleep 5s # 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 ${PORTAL_URL}${PORTAL_ENV} # Handle Proxy Warning Go To ${PORTAL_LOGIN_URL} Title Should Be Login Input Text xpath=//input[@ng-model='loginId'] ${Sta_LoginID} Input Password xpath=//input[@ng-model='password'] ${GLOBAL_PORTAL_ADMIN_PWD} Click Link xpath=//a[@id='loginBtn'] Sleep 5s Go To ${PORTAL_HOME_URL} Wait Until Page Contains Element xpath=//img[@alt='Onap Logo'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Log Logged in to ${PORTAL_URL}${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(),'xDemo App')]/following::div[1] Page Should Contain ONAP Portal Click Element xpath=(.//span[@id='tab-Home'])[1] Set Selenium Implicit Wait 3000 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] Set Selenium Implicit Wait 3000 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'] Run Keyword And Ignore Error Click Button xpath=//button[contains(.,'Log out')] #Confirm Action # TODO: Rework Logout tests to deal with intermittent "document unloaded while waiting for result" errors # Sleep 5s # Title Should Be Login Portal admin Add New Account Click Link //*[@id="parent-item-App-Account-Management"] Click Button xpath=//button[@ng-click='toggleSidebar()'] Set Selenium Implicit Wait 3000 Click Button //*[@id="account-onboarding-button-add"] Set Selenium Implicit Wait 3000 Input Text //*[@id="account-details-input-name"] ${AppUserName} Input Text //*[@id="account-details-input-username"] ${AppUserName} Input Text //*[@id="account-details-input-password"] ${AppPassword} Input Text //*[@id="account-details-input-repassword"] ${AppPassword} #Click Button xpath=//*[@ng-click='accountAddDetails.saveChanges()'] ##Click Button xpath=//button[@ng-click='admins.openAddNewAdminModal()'] #account-details-next-button Click Button xpath=//button[@ng-click='accountAddDetails.saveChanges()'] Portal admin Delete Account Click Link //*[@id="parent-item-App-Account-Management"] Click Button xpath=//button[@ng-click='toggleSidebar()'] Set Selenium Implicit Wait 3000 Click Button //*[@id="account-onboarding-button-add"] Set Selenium Implicit Wait 3000 Enhanced Notification on ONAP Portal [Documentation] Runs portal Post request [Arguments] ${data_path} ${data} #Log Creating session ${GLOBAL_PORTAL_SERVER_URL} ${session}= Create Session portal ${PORTAL_URL} ${headers}= Create Dictionary Accept=application/json Content-Type=application/json Authorization=Basic amlyYTpfcGFzcw== username=jira password=_pass ${resp}= Post Request portal ${data_path} data=${data} headers=${headers} #Log Received response from portal ${resp.text} [Return] ${resp} Notification on ONAP Portal [Documentation] Create Config portal ${configportal}= Create Dictionary jira_id=${jira} ${output} = Fill JSON Template File ${portal_Template} ${configportal} ${post_resp} = Enhanced Notification on ONAP Portal ${RESOURCE_PATH} ${output} Should Be Equal As Strings ${post_resp.status_code} 200 Portal Application Account Management [Documentation] Naviage to Application Account Management tab Click Link xpath=//a[@title='App Account Management'] Click Button xpath=//button[@id='account-onboarding-button-add'] Input Text xpath=//input[@name='name'] JIRA Input Text xpath=//input[@name='username'] jira Input Text xpath=//input[@name='password'] _pass Input Text xpath=//input[@name='repassword'] _pass Click Element xpath=//div[@ng-click='accountAddDetails.saveChanges()'] Element Text Should Be xpath=//*[@table-data='serviceList'] JIRA Portal Application Account Management validation [Documentation] Naviage to user notification tab Click Link xpath=//a[@id='parent-item-User-Notifications'] 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"] 1 JIRA Portal AAF new fields [Documentation] Naviage to user Application details tab Click Link xpath=//a[@title='Application Onboarding'] Click Element xpath=//td[contains(.,'xDemo App')] Page Should Contain Name Space Page Should Contain Centralized Click Element xpath=//button[@id='button-notification-cancel'] Set Selenium Implicit Wait 3000 Portal Change REST URL [Documentation] Naviage to user Application details tab Click Link xpath=//a[@title='Application Onboarding'] Click Element xpath=//td[contains(.,'xDemo App')] Input Text xpath=//input[@name='restUrl'] ${PORTAL_XDEMPAPP_REST_URL} Click Element xpath=//button[@id='button-save-app'] Set Selenium Implicit Wait 6000 Go To ${PORTAL_HOME_PAGE} Wait Until Element Is Visible xpath=//a[@title='Application Onboarding'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Admin widget download Go To ${PORTAL_HOME_URL} Wait until page contains Element xpath=//a[@title='Widget Onboarding'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Click Link xpath=//a[@title='Widget Onboarding'] Wait until page contains Element xpath=//table[@class='ng-scope'] ${td_id}= get element attribute xpath=//*[contains(text(),'Events')] id log ${td_id} ${test}= Get Substring ${td_id} -1 log ${test} ${download_link_id}= Catenate 'widget-onboarding-div-download-widget-${test}' click Element xpath=//*[@id=${download_link_id}] Reset widget layout option Go To ${PORTAL_HOME_URL} Wait Until Page Contains Element xpath=//div[@id='widget-boarder'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Execute Javascript document.getElementById('widgets').scrollTo(0,1400) Wait Until Page Contains Element xpath=//*[@id='widget-gridster-Events-icon'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Execute Javascript document.getElementById('widgets').scrollTo(0,1800) Drag And Drop By Offset xpath=//*[@id='widget-gridster-Events-icon'] 500 500 Execute Javascript document.getElementById('widgets').scrollTo(0,document.getElementById('widgets').scrollHeight); Execute Javascript document.getElementById('dashboardDefaultPreference').click() Execute Javascript document.getElementById('div-confirm-ok-button').click() Add Portal Admin Click Link xpath=//a[@id='parent-item-Portal-Admins'] Scroll Element Into View xpath=//button[@id='portal-admin-button-add'] Click Button xpath=//button[@id='portal-admin-button-add'] Input Text xpath=//input[@id='input-user-search'] ${Test_LoginID} Click Button xpath=//button[@id='button-search-users'] Wait Until Page Contains Element xpath=//span[@id='result-uuid-0'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Click Element xpath=//span[@id='result-uuid-0'] Click Button xpath=//button[@id='pa-search-users-button-save'] Click Button xpath=//button[@id='admin-div-ok-button'] Delete Portal Admin Wait Until Page Does Not Contain Element xpath=//*[@class='b2b-modal-header'] Click Link xpath=//a[@id='parent-item-Portal-Admins'] Click Element xpath=//td[contains(.,'portal')]/following::span[@id='1-button-portal-admin-remove'] Click Button xpath=//*[@id='div-confirm-ok-button']