| *** Settings *** |
| Documentation CSIT cases for basic ONAP functionalities |
| Library ExtendedSelenium2Library |
| Library OperatingSystem |
| Library RequestsLibrary |
| Library ONAPLibrary.Utilities |
| Library ONAPLibrary.Templating |
| Library DateTime |
| Library Collections |
| Library String |
| Library XvfbRobot |
| |
| *** Variables *** |
| ${PORTAL_URL} http://portal.api.simpledemo.onap.org:8989 |
| ${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 |
| ${App_First_Name} demoapp |
| ${App_Last_Name} demo |
| ${App_Email_Address} demoapp@onap.com |
| ${App_LoginID} demoapp |
| ${App_Loginpwd} demo123456! |
| ${App_LoginPwdCheck} demo123456! |
| ${Sta_First_Name} demosta |
| ${Sta_Last_Name} demo |
| ${Sta_Email_Address} demosta@onap.com |
| ${Sta_LoginID} demosta |
| ${Sta_Loginpwd} demo123456! |
| ${Sta_LoginPwdCheck} demo123456! |
| ${Test_First_Name} portal |
| ${Test_Last_Name} demo |
| ${Test_Email_Address} portal@onap.com |
| ${Test_LoginID} portal |
| ${Test_Loginpwd} demo123456! |
| ${Test_LoginPwdCheck} demo123456! |
| ${Existing_User} portal |
| ${PORTAL_HEALTH_CHECK_PATH} /ONAPPORTAL/portalApi/healthCheck |
| ${PORTAL_XDEMPAPP_REST_URL} http://portal-sdk:8080/ONAPPORTALSDK/api/v2 |
| ${PORTAL_ASSETS_DIRECTORY} ${CURDIR} |
| ${GLOBAL_APPLICATION_ID} robot-functional |
| ${GLOBAL_PORTAL_ADMIN_USER} demo |
| ${GLOBAL_PORTAL_ADMIN_PWD} demo123456! |
| ${AppAccountName} testApp |
| ${AppUserName} testApp |
| ${AppPassword} testApp123! |
| ${GLOBAL_MSO_STATUS_PATH} /ecomp/mso/infra/orchestrationRequests/v2/ |
| ${GLOBAL_SELENIUM_BROWSER} chrome |
| ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} Create Dictionary |
| ${GLOBAL_SELENIUM_DELAY} 0 |
| ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} 5 |
| ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 45 |
| ${GLOBAL_OPENSTACK_HEAT_SERVICE_TYPE} orchestration |
| ${GLOBAL_OPENSTACK_CINDER_SERVICE_TYPE} volume |
| ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} compute |
| ${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} network |
| ${GLOBAL_OPENSTACK_GLANCE_SERVICE_TYPE} image |
| ${GLOBAL_OPENSTACK_KEYSTONE_SERVICE_TYPE} identity |
| ${GLOBAL_BUILD_NUMBER} 0 |
| ${GLOBAL_VM_PRIVATE_KEY} ${EXECDIR}/robot/assets/keys/robot_ssh_private_key.pvt |
| ${jira} jira |
| ${RESOURCE_PATH} ONAPPORTAL/auxapi/ticketevent |
| ${portal_Template} portal.template |
| |
| ${Result} FALSE |
| ${td_id} 0 |
| ${download_link_id} 0 |
| |
| *** Test Cases *** |
| |
| Portal Health Check |
| Run Portal Health Check |
| |
| #Login into Portal URL |
| # Portal admin Login To Portal GUI |
| |
| ## Portal R1 Release |
| # # [Documentation] ONAP Portal R1 functionality test |
| # # Notification on ONAP Portal |
| # # Portal Application Account Management validation |
| |
| #Portal Change REST URL Of X-DemoApp |
| # [Documentation] Portal Change REST URL Of X-DemoApp |
| # Portal Change REST URL |
| |
| #Portal R1 Release for AAF |
| # [Documentation] ONAP Portal R1 functionality for AAF test |
| # Portal AAF new fields |
| |
| #Create Microservice onboarding |
| # Portal admin Microservice Onboarding |
| |
| ###Delete Microservice |
| # ##Portal admin Microservice Delete |
| |
| #Create Widget for all users |
| # Portal Admin Create Widget for All users |
| |
| #Delete Widget for all users |
| # Portal Admin Delete Widget for All users |
| |
| #Create Widget for Application Roles |
| # Portal Admin Create Widget for Application Roles |
| |
| ##Delete Widget for Application Roles |
| # #Portal Admin Delete Widget for Application Roles |
| |
| ##EP Admin widget download |
| # #Admin widget download |
| |
| #EP Admin widget layout reset |
| # Reset widget layout option |
| |
| #Validate Functional Top Menu Get Access |
| # Functional Top Menu Get Access |
| |
| #Validate Functional Top Menu Contact Us |
| # Functional Top Menu Contact Us |
| |
| #Edit Functional Menu |
| # Portal admin Edit Functional menu |
| |
| #Broadcast Notification functionality |
| # ${AdminBroadCastMsg}= Portal Admin Broadcast Notifications |
| # set global variable ${AdminBroadCastMsg} |
| |
| #Category Notification functionality |
| # ${AdminCategoryMsg}= Portal Admin Category Notifications |
| # set global variable ${AdminCategoryMsg} |
| |
| #Create a Test user for Application Admin -Test |
| # Portal admin Add Application admin User New user -Test |
| |
| #Create a Test User for Application Admin |
| # Portal admin Add Application admin User New user |
| |
| #Add Application Admin for Existing User Test user |
| # Portal admin Add Application Admin Existing User -APPDEMO |
| |
| #Create a Test user for Standard User |
| # Portal admin Add Standard User New user |
| |
| #Add Application Admin for Existing User |
| # Portal admin Add Application Admin Existing User |
| |
| #Delete Application Admin for Exisitng User |
| # Portal admin Delete Application Admin Existing User |
| |
| #Add Standard User Role for Existing user |
| # Portal admin Add Standard User Existing user |
| |
| #Edit Standard User Role for Existing user |
| # Portal admin Edit Standard User Existing user |
| |
| #Delete Standard User Role for Existing user |
| # Portal admin Delete Standard User Existing user |
| |
| ##Add Account new account from App Account Management |
| # #Portal admin Add New Account |
| |
| ##Delete Account new account from App Account Management |
| # #Portal admin Delete Account |
| |
| ##EP Create Portal Admin |
| # #Add Portal Admin |
| |
| ##EP Portal Admin delete |
| # #Delete Portal Admin |
| |
| #Logout from Portal GUI as Portal Admin |
| # Portal admin Logout from Portal GUI |
| |
| ## Application Admin user Test cases |
| |
| #Login To Portal GUI as APP Admin |
| # Application admin Login To Portal GUI |
| |
| ##Navigate Functional Link as APP Admin |
| ##Application Admin Navigation Functional Menu |
| |
| #Add Standard User Role for Existing user as APP Admin |
| # Application admin Add Standard User Existing user |
| |
| #Edit Standard User Role for Existing user as APP Admin |
| # Application admin Edit Standard User Existing user |
| |
| #Delete Standard User Role for Existing user as APP Admin |
| # Application admin Delete Standard User Existing user |
| |
| ##Navigate Application Link as APP Admin |
| # #Application Admin Navigation Application Link Tab |
| |
| #Logout from Portal GUI as APP Admin |
| # Application admin Logout from Portal GUI |
| |
| ##Standard User Test cases |
| |
| #Login To Portal GUI as Standard User |
| # Standard user Login To Portal GUI |
| |
| ##Navigate Application Link as Standard User |
| # #Standard user Navigation Application Link Tab |
| |
| ##Navigate Functional Link as Standard User |
| # #Standard user Navigation Functional Menu |
| |
| ##Broadcast Notifications Standard user |
| # #Standard user Broadcast Notifications ${AdminBroadCastMsg} |
| |
| ##Category Notifications Standard user |
| # #Standard user Category Notifications ${AdminCategoryMsg} |
| |
| #Logout from Portal GUI as Standard User |
| # Standard User Logout from Portal GUI |
| |
| Teardown |
| [Documentation] Close All Open browsers |
| Close All Browsers |
| |
| *** 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 Chrome |
| ${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} |
| |
| 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 ${PORTAL_URL} |
| ${uuid}= Generate UUID4 |
| ${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 |
| Start Virtual Display 1920 1080 |
| Open Browser ${PORTAL_LOGIN_URL} chrome |
| # 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 |
| 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} |
| #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] Navigate 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] Navigate 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 Existing User |
| [Documentation] Navigate 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'] ${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(),'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'] ${Existing_User} |
| Table Column Should Contain xpath=//*[@table-data='admins.adminsTableData'] 1 ${Existing_User} |
| #Element Text Should Be xpath=(//span[contains(.,'portal')])[1] ${Existing_User} |
| #Element Text Should Be xpath=(//span[contains(.,'demo')])[1] ${Existing_User} |
| |
| Portal admin Delete Application Admin Existing User |
| [Documentation] Navigate 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'] ${Existing_User} |
| 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] Navigate 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_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()'] |
| |
| ${Result}= Get Matching XPath 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_First_Name} |
| #Input Text xpath=//input[@id='input-table-search'] ${App_First_Name} |
| #Element Text Should Be xpath=(//span[contains(.,'demoapp')] )[1] ${App_First_Name} |
| Click Image xpath=//img[@alt='Onap Logo'] |
| Set Selenium Implicit Wait 3000 |
| |
| Portal admin Add Standard User New user |
| [Documentation] Navigate 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_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()'] |
| |
| ${Result}= Get Matching XPath 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_First_Name} |
| #Input Text xpath=//input[@id='input-table-search'] ${Sta_First_Name} |
| #Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${Sta_First_Name} |
| Click Image xpath=//img[@alt='Onap Logo'] |
| Set Selenium Implicit Wait 3000 |
| |
| Portal admin Add Application admin User New user -Test |
| [Documentation] Navigate 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_First_Name} |
| Input Text xpath=//input[@ng-model='searchUsers.newUser.lastName'] ${Test_Last_Name} |
| 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'] ${Test_Loginpwd} |
| Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck'] ${Test_LoginPwdCheck} |
| 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 |
| |
| #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 ${Test_First_Name} |
| #Input Text xpath=//input[@id='input-table-search'] ${Test_First_Name} |
| #Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${Test_First_Name} |
| |
| Portal admin Add Application Admin Existing User -APPDEMO |
| [Documentation] Navigate 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_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(),'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_First_Name} |
| #Element Text Should Be xpath=(//span[contains(.,'appdemo')])[1] ${App_First_Name} |
| Table Column Should Contain xpath=//*[@table-data='admins.adminsTableData'] 1 ${App_First_Name} |
| Click Image xpath=//img[@alt='Onap Logo'] |
| Set Selenium Implicit Wait 3000 |
| |
| Portal admin Add Standard User Existing user |
| [Documentation] Navigate 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'] ${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-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} |
| # 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'] ${Existing_User} |
| # Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Standard User |
| # Set Selenium Implicit Wait 3000 |
| |
| Portal admin Edit Standard User Existing user |
| [Documentation] Navigate 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'] ${Existing_User} |
| 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'] ${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=//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'] ${Existing_User} |
| # 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] Navigate 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'] ${Existing_User} |
| #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] Navigate 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] Navigate 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] Navigate 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] Navigate 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] Navigate 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] Navigate 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')]/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] Navigate 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 |
| #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 Edit Widget |
| [Documentation] Navigate 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'] |
| 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 ${PORTAL_URL}${PORTAL_ENV} |
| # Handle Proxy Warning |
| Title Should Be Login |
| Input Text xpath=//input[@ng-model='loginId'] ${App_LoginID} |
| Input Password xpath=//input[@ng-model='password'] ${App_Loginpwd} |
| 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 ${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] Navigate 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'] ${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-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'] ${Existing_User} |
| # 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] Navigate 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'] ${Existing_User} |
| # 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] Navigate 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'] ${Existing_User} |
| # 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 |
| Click Button xpath=//button[contains(text(),'Log out')] |
| #Set Selenium Implicit Wait 3000 |
| Title Should Be Login |
| |
| Standard 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 |
| Title Should Be Login |
| Input Text xpath=//input[@ng-model='loginId'] ${Sta_LoginID} |
| Input Password xpath=//input[@ng-model='password'] ${Sta_Loginpwd} |
| 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 ${PORTAL_URL}${PORTAL_ENV} |
| |
| Standard 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 |
| |
| Standard 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 |
| |
| Standard 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} |
| |
| Standard 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} |
| |
| Standard 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 |
| |
| 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"] ${AppAccountName} |
| 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 |
| |
| Tear Down |
| [Documentation] Close all browsers |
| Close All Browsers |
| |
| 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} |
| Create Environment portal ${CURDIR} |
| ${output} = Apply Template portal ${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] Navigate 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] Navigate 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] Navigate 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] Navigate 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'] ${Existing_User} |
| 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'] |