*** 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 RequestsClientCert Library RequestsLibrary Library UUID Library ExtendedSelenium2Library 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_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 UUID ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} ${resp}= Get Request portal ${data_path} headers=${headers} Log Received response from portal ${resp.text} [Return] ${resp} 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 To Console Testing SDC,VID,Policy Run Portal Application Login Test cs0008 demo123456! gridster-SDC-icon-link tabframe-SDC Welcome to SDC Close All Browsers Run Portal Application Login Test demo demo123456! gridster-Virtual-Infrastructure-Deployment-icon-link tabframe-Virtual-Infrastructure-Deployment Welcome to VID Close All Browsers Run Portal Application Login Test demo demo123456! gridster-Policy-icon-link tabframe-Policy Policy Editor Close All Browsers 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} #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 Button xpath=//a[@ng-click='loginExternal();'] Click Element xpath=//a[@id='loginBtn'] Wait Until Page Contains Applications ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Log Logged in to ${PORTAL_ENDPOINT}${PORTAL_ENV} Log To Console ${loginId} SUCCESS 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 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'] Wait Until Page Contains Applications ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Log Logged in to ${PORTAL_ENDPOINT}${PORTAL_ENV} Log To Console ${loginId} SUCCESS Sleep 5 Click Element id=${click_element} Sleep 5 Select Frame id=${tabframe} Sleep 5 Page Should Contain ${match_string} Log To Console Portal Application Access SUCCESS ${click_element} 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 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}