From ac02a0e376d3ba32a12041824dc919f21401413d Mon Sep 17 00:00:00 2001 From: Ashish Singh <1998ashishsingh@gmail.com> Date: Wed, 8 Jul 2020 13:34:12 +0530 Subject: Adding basic E2E test for workflow designer Change-Id: I45c3fb5a8b26fdd75084c07a9f934b8800259c35 Signed-off-by: Ashish-uzumaki <1998ashishsingh@gmail.com> Issue-ID: SDC-3193 Signed-off-by: Ashish-uzumaki <1998ashishsingh@gmail.com> --- tests/sdc-workflow-d/__init__.robot | 2 + tests/sdc-workflow-d/global_properties.robot | 43 ++++++++++ tests/sdc-workflow-d/test1.robot | 112 +++++++++++++++++++++++++++ 3 files changed, 157 insertions(+) create mode 100644 tests/sdc-workflow-d/__init__.robot create mode 100644 tests/sdc-workflow-d/global_properties.robot create mode 100644 tests/sdc-workflow-d/test1.robot (limited to 'tests') diff --git a/tests/sdc-workflow-d/__init__.robot b/tests/sdc-workflow-d/__init__.robot new file mode 100644 index 00000000..0ee6767d --- /dev/null +++ b/tests/sdc-workflow-d/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation sdc-workflow-D diff --git a/tests/sdc-workflow-d/global_properties.robot b/tests/sdc-workflow-d/global_properties.robot new file mode 100644 index 00000000..03de4c41 --- /dev/null +++ b/tests/sdc-workflow-d/global_properties.robot @@ -0,0 +1,43 @@ +*** Settings *** +Documentation store all properties that can change or are used in multiple places here +... format is all caps with underscores between words and prepended with GLOBAL +... make sure you prepend them with GLOBAL so that other files can easily see it is from this file. + + +*** Variables *** +${GLOBAL_APPLICATION_ID} robot-ete +${GLOBAL_SO_STATUS_PATH} /onap/so/infra/orchestrationRequests/v6/ +${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} 15 +${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_OPENSTACK_STACK_DEPLOYMENT_TIMEOUT} 600s +${GLOBAL_AAI_CLOUD_OWNER} CloudOwner +${GLOBAL_AAI_CLOUD_OWNER_DEFINED_TYPE} OwnerType +${GLOBAL_AAI_COMPLEX_NAME} clli1 +${GLOBAL_AAI_PHYSICAL_LOCATION_ID} clli1 +${GLOBAL_AAI_AVAILABILITY_ZONE_NAME} nova +${GLOBAL_BUILD_NUMBER} 0 +${GLOBAL_OWNING_ENTITY_NAME} OE-Demonstration +${GLOBAL_VID_UI_TIMEOUT_SHORT} 20s +${GLOBAL_VID_UI_TIMEOUT_MEDIUM} 60s +${GLOBAL_VID_UI_TIMEOUT_LONG} 120s +${GLOBAL_AAI_INDEX_PATH} /aai/v14 +${GLOBAL_AAI_ZONE_ID} nova1 +${GLOBAL_AAI_ZONE_NAME} nova +${GLOBAL_AAI_DESIGN_TYPE} integration +${GLOBAL_AAI_ZONE_CONTEXT} labs +${GLOBAL_TEMPLATE_FOLDER} robot/assets/templates +${GLOBAL_ASSETS_FOLDER} robot/assets +${GLOBAL_SERVICE_MAPPING_DIRECTORY} ./demo/service_mapping +${GLOBAL_SO_HEALTH_CHECK_PATH} /manage/health +${GLOBAL_SO_CLOUD_CONFIG_PATH} /cloudSite +${GLOBAL_SO_CLOUD_CONFIG_TEMPLATE} so/create_cloud_config.jinja +${GLOBAL_SO_ORCHESTRATION_REQUESTS_PATH} /onap/so/infra/orchestrationRequests/v7 diff --git a/tests/sdc-workflow-d/test1.robot b/tests/sdc-workflow-d/test1.robot new file mode 100644 index 00000000..6217f2a9 --- /dev/null +++ b/tests/sdc-workflow-d/test1.robot @@ -0,0 +1,112 @@ +*** Settings *** +Documentation This is the basic test for workflow designer +Library RequestsLibrary +Library Collections +Library SeleniumLibrary +Resource global_properties.robot + +*** Variables *** +${HOMEPAGE} http://localhost:8285 +${HEADLESS} True + +***Keywords*** + +Open SDC GUI + [Documentation] Logs in to SDC GUI + [Arguments] ${PATH} + ## Setup Browever now being managed by the test case + ##Setup Browser + Go To ${HOMEPAGE}${PATH} + Maximize Browser Window + + # Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} + # Log Logging in to ${SDC_FE_ENDPOINT}${PATH} + Wait Until Page Contains Jimmy + # Log Logged in to ${SDC_FE_ENDPOINT}${PATH} + +Setup Browser + [Documentation] Sets up browser based upon the value of ${GLOBAL_SELENIUM_BROWSER} + Run Keyword If '${GLOBAL_SELENIUM_BROWSER}' == 'firefox' Setup Browser Firefox + Run Keyword If '${GLOBAL_SELENIUM_BROWSER}' == 'chrome' Setup Browser Chrome + Log Running with ${GLOBAL_SELENIUM_BROWSER} + +Setup Browser Firefox + ${caps}= Evaluate sys.modules['selenium.webdriver'].common.desired_capabilities.DesiredCapabilities.FIREFOX sys + Set To Dictionary ${caps} marionette= + Set To Dictionary ${caps} elementScrollBehavior 1 + ${wd}= Create WebDriver Firefox capabilities=${caps} + Set Global Variable ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} ${caps} + + +Setup Browser Chrome + ${chrome options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys + Call Method ${chrome options} add_argument no-sandbox + Call Method ${chrome options} add_argument ignore-certificate-errors + Run Keyword If ${HEADLESS}==True Call Method ${chrome options} add_argument headless + ${dc} Evaluate sys.modules['selenium.webdriver'].DesiredCapabilities.CHROME sys, selenium.webdriver + Set To Dictionary ${dc} elementScrollBehavior 1 + Set To Dictionary ${dc} ACCEPT_SSL_CERTS True + Create Webdriver Chrome chrome_options=${chrome_options} desired_capabilities=${dc} + Set Global Variable ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} ${dc} + +Input Username + [Arguments] ${username} + Input Text name=userId ${username} + +Input Password + [Arguments] ${password} + Input Text name=password ${password} + +Input Name + [Arguments] ${workflowName} + Input Text id=workflowName ${workflowName} + +Input Description + [Arguments] ${description} + Input Text xpath=/html/body/div[2]/div/div[2]/div/form/div/div[1]/div[2]/div/textarea ${description} + +Input WFdescription + [Arguments] ${description} + Input Text xpath=//*[@id="root"]/div[1]/div/div[2]/div[2]/div/div[1]/div/textarea + +Submit Login Button + Click Element xpath=/html/body/form/input[3] + +Submit WorkFlow Button + Click Element xpath=/html/body/div/home-page/div/top-nav/nav/ul/li[5]/a + +Add WorkFlow + Click Element xpath=//*[@id="root"]/div[1]/div/div[2]/div/div[2]/div[1] + # Click Element xpath=//*[@id="root"]/div[1]/div/div[2]/div/div[2]/div[1]/div[1]/div/svg + +Create Workflow + Click Element xpath=/html/body/div[2]/div/div[2]/div/form/div/div[2]/button[1] + +Goto Frame + Select Frame xpath=/html/body/div/plugin-tab-view/div/plugin-frame/div/div/iframe + +Save WorkFlow + Click Element xpath=//*[@id="root"]/div[1]/div/div[1]/div[2]/div[2]/div/div/div[2]/div/div/span + +*** Test Cases *** +Workflow Designer Testing + [Documentation] User can homepage and see the tag line + Setup Browser + Open SDC GUI /login + Input Username cs0008 + Input Password 123123a + Submit Login Button + Wait Until Page Contains WORKFLOW + Submit WorkFlow Button + BuiltIn.Sleep 5s + Goto Frame + Add WorkFlow + BuiltIn.Sleep 5s + Input Name testing7 + Input Description first test through selenium + Create Workflow + # Wait Until Page Contains General + # Input Description2 write some dummy description + # Save WorkFlow + # BuiltIn.Sleep 5s + Close Browser \ No newline at end of file -- cgit 1.2.3-korg