*** Settings *** Documentation The main interface for interacting with Portal. It handles low level stuff like managing the http request library and Portal required fields Library RequestsLibrary Library ONAPLibrary.Utilities Library SeleniumLibrary Library Collections Library String Resource global_properties.robot Resource browser_setup.robot *** Variables *** ${PORTAL_HEALTH_CHECK_PATH} /ONAPPORTAL/portalApi/healthCheck ${PORTAL_ENDPOINT} ${GLOBAL_PORTAL_SERVER_PROTOCOL}://${GLOBAL_INJECTED_PORTAL_IP_ADDR}:${GLOBAL_PORTAL_SERVER_PORT} #${PORTAL_GUI_ENDPOINT} ${GLOBAL_PORTAL_SERVER_PROTOCOL}://portal.api.simpledemo.onap.org:${GLOBAL_PORTAL_SERVER_PORT} #${PORTAL_GUI_ENDPOINT} ${GLOBAL_PORTAL_SERVER_PROTOCOL}://portal-app.onap:${GLOBAL_PORTAL_SERVER_PORT} ${PORTAL_GUI_ENDPOINT} https://portal.api.simpledemo.onap.org:30225 ${PORTAL_ENV} /ONAPPORTAL ${PORTAL_LOGIN_URL} ${PORTAL_GUI_ENDPOINT}${PORTAL_ENV}/login.htm ${PORTAL_HOME_URL} ${PORTAL_GUI_ENDPOINT}${PORTAL_ENV}/applicationsHome *** Keywords *** Run Portal Health Check [Documentation] Runs Portal Health check ${resp}= Run Portal Get Request ${PORTAL_HEALTH_CHECK_PATH} Should Be Equal As Strings ${resp.status_code} 200 Should Be Equal As Strings ${resp.json()['statusCode']} 200 Run Portal Get Request [Documentation] Runs Portal Get request [Arguments] ${data_path} ${session}= Create Session portal ${PORTAL_ENDPOINT} ${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} Run Portal Login Tests [Documentation] Runs Portal Login Tests Close All Browsers Login To Portal GUI demo demo123456! Close All Browsers Login To Portal GUI cs0008 demo123456! Close All Browsers Login To Portal GUI jm0007 demo123456! Close All Browsers Login To Portal GUI gv0001 demo123456! Close All Browsers Login To Portal GUI op0001 demo123456! Close All Browsers Run Portal Application Access Tests [Documentation] Runs Portal Application Access Tests Log Testing SDC,VID,Policy console=yes ${status} ${resp} Run Keyword And Ignore Error Run Portal Application Login Test cs0008 demo123456! gridster-SDC-icon-link tabframe-SDC Welcome to SDC Log SDC ${status} console=yes Close All Browsers ${status} ${resp} Run Keyword And Ignore Error Run Portal Application Login Test demo demo123456! gridster-Virtual-Infrastructure-Deployment-icon-link tabframe-Virtual-Infrastructure-Deployment Welcome to VID Log VID ${status} console=yes Close All Browsers ${status} ${resp} Run Keyword And Ignore Error Run Portal Application Login Test demo demo123456! gridster-A&AI-UI-icon-link tabframe-A&AI-UI A&AI Log A&AI UI ${status} console=yes Close All Browsers ${status} ${resp} Run Keyword And Ignore Error Run Portal Application Login Test demo demo123456! gridster-Policy-icon-link tabframe-Policy Policy Editor Log Policy ${status} console=yes Close All Browsers ${status} ${resp} Run Keyword And Ignore Error Run Portal Application Login Test demo demo123456! gridster-SO-Monitoring-icon-link tabframe-SO-Monitoring SO Log SO-Monitoring ${status} console=yes Close All Browsers Login To Portal GUI And Go Home [Documentation] Logs in to Portal GUI [Arguments] ${loginId} ${password} Login To Portal GUI ${loginId} ${password} Go To Portal HOME Login To Portal GUI [Documentation] Logs in to Portal GUI [Arguments] ${loginId} ${password} # Setup Browser Now being managed by test case ### revert to local Setup Browser for Login test Setup Browser Go To ${PORTAL_LOGIN_URL} Set Selenium Speed ${GLOBAL_SELENIUM_DELAY} Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} Log Logging in to ${PORTAL_ENDPOINT}${PORTAL_ENV} Handle Proxy Warning Title Should Be Login Log Source Input Text xpath=//input[@ng-model='loginId'] ${loginId} Input Password xpath=//input[@ng-model='password'] ${password} Click Element xpath=//a[@id='loginBtn'] Sleep 5s #Go To ${PORTAL_HOME_URL} #Wait Until Page Contains Applications ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Wait Until Page Contains Applications 30 Log Logged in to ${PORTAL_ENDPOINT}${PORTAL_ENV} Log ${loginId} SUCCESS Logout From Portal GUI [Documentation] Logs out of Portal GUI Go To ${PORTAL_LOGIN_URL} Click Element xpath=//div[@id='header-user-icon'] Run Keyword And Ignore Error Click Button xpath=//button[contains(.,'Log out')] Log Logged out of ${PORTAL_ENDPOINT}${PORTAL_ENV} Run Portal Application Login Test [Documentation] Login to Portal Application [Arguments] ${loginId} ${password} ${click_element} ${tabframe} ${match_string} # Setup Browser Now being managed by test case ### revert to local Setup Browser for Login test Setup Browser Set Window Size 2000 1000 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_ENDPOINT}${PORTAL_ENV} Handle Proxy Warning Title Should Be Login Input Text xpath=//input[@ng-model='loginId'] ${loginId} Input Password xpath=//input[@ng-model='password'] ${password} Click Element xpath=//a[@id='loginBtn'] Sleep 5s #Go To ${PORTAL_HOME_URL} Wait Until Page Contains Applications ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Log Logged in to ${PORTAL_ENDPOINT}${PORTAL_ENV} Log ${loginId} SUCCESS Sleep 5 Click Element id=${click_element} Sleep 5 Select Frame id=${tabframe} Sleep 5 Wait Until Page Contains ${match_string} 60 Go To Portal HOME [Documentation] Naviage to Portal Home Go To ${PORTAL_HOME_URL} Wait Until Page Contains Applications ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Click On Button When Enabled [Arguments] ${xpath} ${timeout}=${GLOBAL_VID_UI_TIMEOUT_MEDIUM} Wait Until Page Contains Element xpath=${xpath} ${timeout} Wait Until Element Is Enabled xpath=${xpath} ${timeout} Click Button xpath=${xpath} Click On Element When Visible [Arguments] ${xpath} ${timeout}=${GLOBAL_VID_UI_TIMEOUT_MEDIUM} Wait Until Page Contains Element xpath=${xpath} ${timeout} Wait Until Element Is Visible xpath=${xpath} ${timeout} Click Element xpath=${xpath} Select From List When Enabled [Arguments] ${xpath} ${value} ${timeout}=${GLOBAL_VID_UI_TIMEOUT_MEDIUM} Wait Until Page Contains Element xpath=${xpath} ${timeout} Wait Until Element Is Enabled xpath=${xpath} ${timeout} Select From List By Label xpath=${xpath} ${value} Input Text When Enabled [Arguments] ${xpath} ${value} ${timeout}=${GLOBAL_VID_UI_TIMEOUT_MEDIUM} Wait Until Page Contains Element xpath=${xpath} ${timeout} Wait Until Element Is Enabled xpath=${xpath} ${timeout} Input Text xpath=${xpath} ${value}