blob: d0fef06a42207b373bc7f53272f1d70a3e22014e [file] [log] [blame]
Gary Wu9abb61c2018-09-27 10:38:50 -07001*** Settings ***
2Documentation This is RobotFrame work script
3Library ExtendedSelenium2Library
4Library OperatingSystem
5Library eteutils/RequestsClientCert.py
6Library RequestsLibrary
7Library eteutils/UUID.py
8Library DateTime
9Library Collections
10Library eteutils/OSUtils.py
11Library eteutils/StringTemplater.py
12Library String
13Library XvfbRobot
14Resource json_templater.robot
15
16*** Variables ***
17${PORTAL_URL} http://portal.api.simpledemo.onap.org:8989
18${PORTAL_ENV} /ONAPPORTAL
19${PORTAL_LOGIN_URL} ${PORTAL_URL}${PORTAL_ENV}/login.htm
20${PORTAL_HOME_PAGE} ${PORTAL_URL}${PORTAL_ENV}/applicationsHome
21${PORTAL_MICRO_ENDPOINT} ${PORTAL_URL}${PORTAL_ENV}/commonWidgets
22${PORTAL_HOME_URL} ${PORTAL_URL}${PORTAL_ENV}/applicationsHome
23${App_First_Name} demoapp
24${App_Last_Name} demo
25${App_Email_Address} demoapp@onap.com
26${App_LoginID} demoapp
27${App_Loginpwd} demo123456!
28${App_LoginPwdCheck} demo123456!
29${Sta_First_Name} demosta
30${Sta_Last_Name} demo
31${Sta_Email_Address} demosta@onap.com
32${Sta_LoginID} demosta
33${Sta_Loginpwd} demo123456!
34${Sta_LoginPwdCheck} demo123456!
35${Test_First_Name} portal
36${Test_Last_Name} demo
37${Test_Email_Address} portal@onap.com
38${Test_LoginID} portal
39${Test_Loginpwd} demo123456!
40${Test_LoginPwdCheck} demo123456!
41${Existing_User} portal
42${PORTAL_HEALTH_CHECK_PATH} /ONAPPORTAL/portalApi/healthCheck
43${PORTAL_XDEMPAPP_REST_URL} http://portal-sdk:8080/ONAPPORTALSDK/api/v2
44${PORTAL_ASSETS_DIRECTORY} ${CURDIR}
45${GLOBAL_APPLICATION_ID} robot-functional
46${GLOBAL_PORTAL_ADMIN_USER} demo
47${GLOBAL_PORTAL_ADMIN_PWD} demo123456!
48${AppAccountName} testApp
49${AppUserName} testApp
50${AppPassword} testApp123!
51${GLOBAL_MSO_STATUS_PATH} /ecomp/mso/infra/orchestrationRequests/v2/
52${GLOBAL_SELENIUM_BROWSER} chrome
53${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} Create Dictionary
54${GLOBAL_SELENIUM_DELAY} 0
55${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} 5
56${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 45
57${GLOBAL_OPENSTACK_HEAT_SERVICE_TYPE} orchestration
58${GLOBAL_OPENSTACK_CINDER_SERVICE_TYPE} volume
59${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} compute
60${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} network
61${GLOBAL_OPENSTACK_GLANCE_SERVICE_TYPE} image
62${GLOBAL_OPENSTACK_KEYSTONE_SERVICE_TYPE} identity
63${GLOBAL_BUILD_NUMBER} 0
64${GLOBAL_VM_PRIVATE_KEY} ${EXECDIR}/robot/assets/keys/robot_ssh_private_key.pvt
65${jira} jira
66${RESOURCE_PATH} ONAPPORTAL/auxapi/ticketevent
67${portal_Template} ${CURDIR}/portal.template
68
69${Result} FALSE
70${td_id} 0
71${download_link_id} 0
72
73*** Test Cases ***
74
75Portal Health Check
76 Run Portal Health Check
77
78#Login into Portal URL
79# Portal admin Login To Portal GUI
80
81## Portal R1 Release
82# # [Documentation] ONAP Portal R1 functionality test
83# # Notification on ONAP Portal
84# # Portal Application Account Management validation
85
86#Portal Change REST URL Of X-DemoApp
87# [Documentation] Portal Change REST URL Of X-DemoApp
88# Portal Change REST URL
89
90#Portal R1 Release for AAF
91# [Documentation] ONAP Portal R1 functionality for AAF test
92# Portal AAF new fields
93
94#Create Microse service onboarding
95# Portal admin Microservice Onboarding
96
97###Delete Microse service
98# ##Portal admin Microservice Delete
99
100#Create Widget for all users
101# Portal Admin Create Widget for All users
102
103#Delete Widget for all users
104# Portal Admin Delete Widget for All users
105
106#Create Widget for Application Roles
107# Portal Admin Create Widget for Application Roles
108
109##Delete Widget for Application Roles
110# #Portal Admin Delete Widget for Application Roles
111
112##EP Admin widget download
113# #Admin widget download
114
115#EP Admin widget layout reset
116# Reset widget layout option
117
118#Validate Functional Top Menu Get Access
119# Functional Top Menu Get Access
120
121#Validate Functional Top Menu Contact Us
122# Functional Top Menu Contact Us
123
124#Edit Functional Menu
125# Portal admin Edit Functional menu
126
127#Broadbond Notification functionality
128# ${AdminBroadCastMsg}= Portal Admin Broadcast Notifications
129# set global variable ${AdminBroadCastMsg}
130
131#Category Notification functionality
132# ${AdminCategoryMsg}= Portal Admin Category Notifications
133# set global variable ${AdminCategoryMsg}
134
135#Create a Test user for Application Admin -Test
136# Portal admin Add Application admin User New user -Test
137
138#Create a Test User for Apllication Admin
139# Portal admin Add Application admin User New user
140
141#Add Application Admin for Existing User Test user
142# Portal admin Add Application Admin Exiting User -APPDEMO
143
144#Create a Test user for Standared User
145# Portal admin Add Standard User New user
146
147#Add Application Admin for Exisitng User
148# Portal admin Add Application Admin Exiting User
149
150#Delete Application Admin for Exisitng User
151# Portal admin Delete Application Admin Existing User
152
153#Add Standard User Role for Existing user
154# Portal admin Add Standard User Existing user
155
156#Edit Standard User Role for Existing user
157# Portal admin Edit Standard User Existing user
158
159#Delete Standard User Role for Existing user
160# Portal admin Delete Standard User Existing user
161
162##Add Account new account from App Account Management
163# #Portal admin Add New Account
164
165##Delete Account new account from App Account Management
166# #Portal admin Delete Account
167
168##EP Create Portal Admin
169# #Add Portal Admin
170
171##EP Portal Admin delete
172# #Delete Portal Admin
173
174#Logout from Portal GUI as Portal Admin
175# Portal admin Logout from Portal GUI
176
177## Application Admin user Test cases
178
179#Login To Portal GUI as APP Admin
180# Application admin Login To Portal GUI
181
182##Navigate Functional Link as APP Admin
183 ##Application Admin Navigation Functional Menu
184
185#Add Standard User Role for Existing user as APP Admin
186# Application admin Add Standard User Existing user
187
188#Edit Standard User Role for Existing user as APP Admin
189# Application admin Edit Standard User Existing user
190
191#Delete Standard User Role for Existing user as APP Admin
192# Application admin Delete Standard User Existing user
193
194##Navigate Application Link as APP Admin
195# #Application Admin Navigation Application Link Tab
196
197#Logout from Portal GUI as APP Admin
198# Application admin Logout from Portal GUI
199
200##Standard User Test cases
201
202#Login To Portal GUI as Standared User
203# Standared user Login To Portal GUI
204
205##Navigate Application Link as Standared User
206# #Standared user Navigation Application Link Tab
207
208##Navigate Functional Link as Standared User
209# #Standared user Navigation Functional Menu
210
211##Broadcast Notifications Standared user
212# #Standared user Broadcast Notifications ${AdminBroadCastMsg}
213
214##Category Notifications Standared user
215# #Standared user Category Notifications ${AdminCategoryMsg}
216
217#Logout from Portal GUI as Standared User
218# Standared User Logout from Portal GUI
219
220Teardown
221 [Documentation] Close All Open browsers
222 Close All Browsers
223
224*** Keywords ***
225
226Setup Browser
227 [Documentation] Sets up browser based upon the value of ${GLOBAL_SELENIUM_BROWSER}
228# Run Keyword If '${GLOBAL_SELENIUM_BROWSER}' == 'firefox' Setup Browser Firefox
229 Run Keyword If '${GLOBAL_SELENIUM_BROWSER}' == 'chrome' Setup Browser Chrome
230 Log Running with ${GLOBAL_SELENIUM_BROWSER}
231
232
233 Setup Browser Chrome
234 ${os}= Get Normalized Os
235 Log Normalized OS=${os}
236 ${chrome options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys
237 Call Method ${chrome options} add_argument no-sandbox
238 ${dc} Evaluate sys.modules['selenium.webdriver'].DesiredCapabilities.CHROME sys, selenium.webdriver
239 Set To Dictionary ${dc} elementScrollBehavior 1
240 Create Webdriver Chrome chrome_options=${chrome_options} desired_capabilities=${dc}
241 Set Global Variable ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} ${dc}
242
243Handle Proxy Warning
244 [Documentation] Handle Intermediate Warnings from Proxies
245 ${status} ${data}= Run Keyword And Ignore Error Variable Should Exist \${GLOBAL_PROXY_WARNING_TITLE}
246 Return From Keyword if '${status}' != 'PASS'
247 ${status} ${data}= Run Keyword And Ignore Error Variable Should Exist \${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}
248 Return From Keyword if '${status}' != 'PASS'
249 Return From Keyword if "${GLOBAL_PROXY_WARNING_TITLE}" == ''
250 Return From Keyword if "${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}" == ''
251 ${test} ${value}= Run keyword and ignore error Title Should Be ${GLOBAL_PROXY_WARNING_TITLE}
252 Run keyword If '${test}' == 'PASS' Click Element xpath=${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}
253
254
255Run Portal Health Check
256 [Documentation] Runs Portal Health check
257 ${resp}= Run Portal Get Request ${PORTAL_HEALTH_CHECK_PATH}
258 Should Be Equal As Strings ${resp.status_code} 200
259 Should Be Equal As Strings ${resp.json()['statusCode']} 200
260
261Run Portal Get Request
262 [Documentation] Runs Portal Get request
263 [Arguments] ${data_path}
264 ${session}= Create Session portal ${PORTAL_URL}
265 ${uuid}= Generate UUID
266 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
267 ${resp}= Get Request portal ${data_path} headers=${headers}
268 Log Received response from portal ${resp.text}
269 [Return] ${resp}
270
271
272Portal admin Login To Portal GUI
273 [Documentation] Logs into Portal GUI
274 ## Setup Browser Now being managed by test case
275# Setup Browser
276 Start Virtual Display 1920 1080
277 Open Browser ${PORTAL_LOGIN_URL} chrome
278# Go To ${PORTAL_LOGIN_URL}
279 Maximize Browser Window
280 Set Selenium Speed ${GLOBAL_SELENIUM_DELAY}
281 Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
282 Log Logging in to ${PORTAL_URL}${PORTAL_ENV}
283 # Handle Proxy Warning
284 Title Should Be Login
285 Input Text xpath=//input[@ng-model='loginId'] ${GLOBAL_PORTAL_ADMIN_USER}
286 Input Password xpath=//input[@ng-model='password'] ${GLOBAL_PORTAL_ADMIN_PWD}
287 Click Link xpath=//a[@id='loginBtn']
288 Wait Until Page Contains Element xpath=//img[@alt='Onap Logo'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
289 #Execute Javascript document.getElementById('w-ecomp-footer').style.display = 'none'
290 Log Logged in to ${PORTAL_URL}${PORTAL_ENV}
291
292Portal admin Go To Portal HOME
293 [Documentation] Naviage to Portal Home
294 Go To ${PORTAL_HOME_URL}
295 Wait Until Page Contains Element xpath=//div[@class='applicationWindow'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
296
297Portal admin User Notifications
298 [Documentation] Naviage to User notification tab
299 Click Link xpath=//a[@id='parent-item-User-Notifications']
300 Wait Until Element Is Visible xpath=//h1[@class='heading-page'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
301 Click Button xpath=//button[@id='button-openAddNewApp']
302 Click Button xpath=(//button[@id='undefined'])[1]
303 #Click Button xpath=//input[@id='datepicker-start']
304
305Portal admin Add Application Admin Exiting User
306 [Documentation] Naviage to Admins tab
307 Wait Until Element Is Visible xpath=//a[@title='Admins'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
308 Click Link xpath=//a[@title='Admins']
309 Wait Until Element Is Visible xpath=//h1[contains(.,'Admins')] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
310 Page Should Contain Admins
311 Click Button xpath=//button[@ng-click='toggleSidebar()']
312 Click Button xpath=//button[@ng-click='admins.openAddNewAdminModal()']
313 Input Text xpath=//input[@id='input-user-search'] ${Existing_User}
314 Click Button xpath=//button[@id='button-search-users']
315 Click Element xpath=//span[@id='result-uuid-0']
316 Click Button xpath=//button[@id='search-users-button-next']
317 Click Button xpath=//input[@value='Select application']
318 Scroll Element Into View xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App' )])[1]
319 Click Element xpath=(//li[contains(.,'xDemo App' )])[2]
320# Scroll Element Into View xpath=(//input[@value='Select application']/following::*[contains(text(),'Default' )])[1]
321# Click Element xpath=(//li[contains(.,'Default' )])[2]
322 #Select From List xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App')])[1] xDemo App
323 Click Button xpath=//button[@id='div-updateAdminAppsRoles']
324 Click Element xpath=//button[@id='admin-div-ok-button']
325 Click Element xpath=//button[@id='div-confirm-ok-button']
326 Get Selenium Implicit Wait
327 Click Link xpath=//a[@aria-label='Admins']
328 Click Element xpath=//input[@id='dropdown1']
329# Click Element xpath=//li[contains(.,'Default' )]
330 Click Element xpath=//li[contains(.,'xDemo App' )]
331 Input Text xpath=//input[@id='input-table-search'] ${Existing_User}
332 Table Column Should Contain xpath=//*[@table-data='admins.adminsTableData'] 1 ${Existing_User}
333 #Element Text Should Be xpath=(//span[contains(.,'portal')])[1] ${Existing_User}
334 #Element Text Should Be xpath=(//span[contains(.,'demo')])[1] ${Existing_User}
335
336
337Portal admin Delete Application Admin Existing User
338 [Documentation] Naviage to Admins tab
339 Wait Until Element Is Visible xpath=//a[@title='Admins'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
340 Click Link xpath=//a[@title='Admins']
341 Wait Until Element Is Visible xpath=//h1[contains(.,'Admins')] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
342 Page Should Contain Admins
343 Click Button xpath=//button[@ng-click='toggleSidebar()']
344 Input Text xpath=//input[@id='input-table-search'] ${Existing_User}
345 Click Element xpath=(//span[contains(.,'portal')] )[1]
346 #Click Element xpath=(//span[contains(.,'demo')] )[1]
347 Click Element xpath=//*[@id='select-app-xDemo-App']/following::i[@id='i-delete-application']
348# Click Element xpath=//*[@id='select-app-Default']/following::i[@id='i-delete-application']
349 Click Element xpath=//button[@id='div-confirm-ok-button']
350 Click Button xpath=//button[@id='div-updateAdminAppsRoles']
351 Click Element xpath=//button[@id='admin-div-ok-button']
352 #Is Element Visible xpath=(//span[contains(.,'Portal')] )[2]
353 #Is Element Visible xpath=(//*[contains(.,'Portal')] )[2]
354 Element Should Not Contain xpath=//*[@table-data='admins.adminsTableData'] portal
355 #Element Should Not Contain xpath=//*[@table-data='admins.adminsTableData'] demo
356 Click Image xpath=//img[@alt='Onap Logo']
357 Set Selenium Implicit Wait 3000
358
359
360Portal admin Add Application admin User New user
361 [Documentation] Naviage to Users tab
362 Click Link xpath=//a[@title='Users']
363 Page Should Contain Users
364 Click Button xpath=//button[@ng-click='toggleSidebar()']
365 Click Button xpath=//button[@id='users-button-add']
366 Click Button xpath=//button[@id='Create-New-User-button']
367 Input Text xpath=//input[@ng-model='searchUsers.newUser.firstName'] ${App_First_Name}
368 Input Text xpath=//input[@ng-model='searchUsers.newUser.lastName'] ${App_Last_Name}
369 Input Text xpath=//input[@ng-model='searchUsers.newUser.emailAddress'] ${App_Email_Address}
370 Input Text xpath=//input[@ng-model='searchUsers.newUser.loginId'] ${App_LoginID}
371 Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwd'] ${App_Loginpwd}
372 Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck'] ${App_LoginPwdCheck}
373 Click Button xpath=//button[@ng-click='searchUsers.addNewUserFun()']
374
375 ${Result}= Get Matching XPath Count xpath=//*[contains(text(),'User with same loginId already exists')]
376
377 #log ${Result}
378 #${type_result}= Evaluate type(${Result})
379 #log ${type_result}
380
381 Run Keyword if '${Result}'== 0 AdminUser does not exist already
382 ... ELSE Goto Home Image
383 Set Selenium Implicit Wait 3000
384
385Goto Home Image
386 Click Image xpath=//img[@alt='Onap Logo']
387
388AdminUser does not exist already
389 Click Button xpath=//button[@id='next-button']
390 #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-xDemo-App']
391 Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App']
392 Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox']
393 Set Selenium Implicit Wait 3000
394 Click Button xpath=//button[@id='new-user-save-button']
395 Set Selenium Implicit Wait 3000
396 Go To ${PORTAL_HOME_PAGE}
397 Click Link xpath=//a[@title='Users']
398 Click Element xpath=//input[@id='dropdown1']
399 Click Element xpath=//li[contains(.,'xDemo App')]
400 Table Column Should Contain xpath=//*[@table-data='users.accountUsers'] 1 ${App_First_Name}
401 #Input Text xpath=//input[@id='input-table-search'] ${App_First_Name}
402 #Element Text Should Be xpath=(//span[contains(.,'demoapp')] )[1] ${App_First_Name}
403 Click Image xpath=//img[@alt='Onap Logo']
404 Set Selenium Implicit Wait 3000
405
406
407Portal admin Add Standard User New user
408 [Documentation] Naviage to Users tab
409 Click Link xpath=//a[@title='Users']
410 Page Should Contain Users
411 Click Button xpath=//button[@ng-click='toggleSidebar()']
412 Click Button xpath=//button[@id='users-button-add']
413 Click Button xpath=//button[@id='Create-New-User-button']
414 Input Text xpath=//input[@ng-model='searchUsers.newUser.firstName'] ${Sta_First_Name}
415 Input Text xpath=//input[@ng-model='searchUsers.newUser.lastName'] ${Sta_Last_Name}
416 Input Text xpath=//input[@ng-model='searchUsers.newUser.emailAddress'] ${Sta_Email_Address}
417 Input Text xpath=//input[@ng-model='searchUsers.newUser.loginId'] ${Sta_LoginID}
418 Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwd'] ${Sta_Loginpwd}
419 Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck'] ${Sta_LoginPwdCheck}
420 Click Button xpath=//button[@ng-click='searchUsers.addNewUserFun()']
421
422 ${Result}= Get Matching XPath Count xpath=//*[contains(text(),'User with same loginId already exists')]
423
424 #log ${Result}
425 #${type_result}= Evaluate type(${Result})
426 #log ${type_result}
427
428 Run Keyword if '${Result}'== 0 StaUser does not exist already
429 ... ELSE Goto Home Image
430 Set Selenium Implicit Wait 3000
431
432StaUser does not exist already
433 Click Button xpath=//button[@id='next-button']
434 #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-xDemo-App']
435 Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App']
436 Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox']
437 Set Selenium Implicit Wait 3000
438 Click Button xpath=//button[@id='new-user-save-button']
439 Set Selenium Implicit Wait 3000
440 Go To ${PORTAL_HOME_PAGE}
441 Click Link xpath=//a[@title='Users']
442 Click Element xpath=//input[@id='dropdown1']
443 Click Element xpath=//li[contains(.,'xDemo App')]
444 Table Column Should Contain xpath=//*[@table-data='users.accountUsers'] 1 ${Sta_First_Name}
445 #Input Text xpath=//input[@id='input-table-search'] ${Sta_First_Name}
446 #Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${Sta_First_Name}
447 Click Image xpath=//img[@alt='Onap Logo']
448 Set Selenium Implicit Wait 3000
449
450
451
452Portal admin Add Application admin User New user -Test
453 [Documentation] Naviage to Users tab
454 Click Link xpath=//a[@title='Users']
455 Page Should Contain Users
456 Click Button xpath=//button[@ng-click='toggleSidebar()']
457 Click Button xpath=//button[@id='users-button-add']
458 Click Button xpath=//button[@id='Create-New-User-button']
459 Input Text xpath=//input[@ng-model='searchUsers.newUser.firstName'] ${Test_First_Name}
460 Input Text xpath=//input[@ng-model='searchUsers.newUser.lastName'] ${Test_Last_Name}
461 Input Text xpath=//input[@ng-model='searchUsers.newUser.emailAddress'] ${Test_Email_Address}
462 Input Text xpath=//input[@ng-model='searchUsers.newUser.loginId'] ${Test_LoginID}
463 Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwd'] ${Test_Loginpwd}
464 Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck'] ${Test_LoginPwdCheck}
465 Click Button xpath=//button[@ng-click='searchUsers.addNewUserFun()']
466 Click Button xpath=//button[@id='search-users-button-cancel']
467 Click Image xpath=//img[@alt='Onap Logo']
468 Set Selenium Implicit Wait 3000
469
470
471 #Click Button xpath=//button[@id='next-button']
472 #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-xDemo-App']
473 #Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App']
474 #Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox']
475 #Set Selenium Implicit Wait 3000
476 #Click Button xpath=//button[@id='new-user-save-button']
477 #Set Selenium Implicit Wait 3000
478 #Go To ${PORTAL_HOME_PAGE}
479 #Click Link xpath=//a[@title='Users']
480 #Click Element xpath=//input[@id='dropdown1']
481 #Click Element xpath=//li[contains(.,'xDemo App')]
482 #Table Column Should Contain xpath=//*[@table-data='users.accountUsers'] 1 ${Test_First_Name}
483 #Input Text xpath=//input[@id='input-table-search'] ${Test_First_Name}
484 #Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${Test_First_Name}
485
486Portal admin Add Application Admin Exiting User -APPDEMO
487 [Documentation] Naviage to Admins tab
488 Wait Until Element Is Visible xpath=//a[@title='Admins'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
489 Click Link xpath=//a[@title='Admins']
490 Wait Until Element Is Visible xpath=//h1[contains(.,'Admins')] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
491 Page Should Contain Admins
492 Click Button xpath=//button[@ng-click='toggleSidebar()']
493 Click Button xpath=//button[@ng-click='admins.openAddNewAdminModal()']
494 Input Text xpath=//input[@id='input-user-search'] ${App_First_Name}
495 Click Button xpath=//button[@id='button-search-users']
496 Click Element xpath=//span[@id='result-uuid-0']
497 Click Button xpath=//button[@id='search-users-button-next']
498 Click Button xpath=//input[@value='Select application']
499 Scroll Element Into View xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App' )])[1]
500 Click Element xpath=(//li[contains(.,'xDemo App' )])[2]
501 #Select From List xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App')])[1] xDemo App
502 Click Button xpath=//button[@id='div-updateAdminAppsRoles']
503 Click Element xpath=//button[@id='admin-div-ok-button']
504 Click Element xpath=//button[@id='div-confirm-ok-button']
505 Get Selenium Implicit Wait
506 Click Link xpath=//a[@aria-label='Admins']
507 Click Element xpath=//input[@id='dropdown1']
508 Click Element xpath=//li[contains(.,'xDemo App' )]
509 Input Text xpath=//input[@id='input-table-search'] ${App_First_Name}
510 #Element Text Should Be xpath=(//span[contains(.,'appdemo')])[1] ${App_First_Name}
511 Table Column Should Contain xpath=//*[@table-data='admins.adminsTableData'] 1 ${App_First_Name}
512 Click Image xpath=//img[@alt='Onap Logo']
513 Set Selenium Implicit Wait 3000
514
515Portal admin Add Standard User Existing user
516 [Documentation] Naviage to Users tab
517 Click Link xpath=//a[@title='Users']
518 Page Should Contain Users
519 Click Button xpath=//button[@ng-click='toggleSidebar()']
520 Click Button xpath=//button[@ng-click='users.openAddNewUserModal()']
521 Input Text xpath=//input[@id='input-user-search'] ${Existing_User}
522 Click Button xpath=//button[@id='button-search-users']
523 Click Element xpath=//span[@id='result-uuid-0']
524 Click Button xpath=//button[@id='next-button']
525# Click Element xpath=//*[@id='div-app-name-dropdown-Default']
526# Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Standard-User-checkbox']
527 Click Element xpath=//div[@id='app-select-Select roles1']
528 Click Element xpath=//div[@id='app-select-Select roles1']/following::input[@id='Standard-User-checkbox']
529 Set Selenium Implicit Wait 3000
530 Click Button xpath=//button[@id='new-user-save-button']
531 Set Selenium Implicit Wait 3000
532 #Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
533 #Select From List xpath=//input[@value='Select application'] xDemo App
534 #Click Link xpath=//a[@title='Users']
535 #Page Should Contain Users
536 #Focus xpath=//input[@name='dropdown1']
537 Go To ${PORTAL_HOME_PAGE}
538 #Click Link xpath=//a[@title='Users']
539 #Click Element xpath=//input[@id='dropdown1']
540# Click Element xpath=//li[contains(.,'Default')]
541 #Click Element xpath=//li[contains(.,'XDemo App')]
542 #Input Text xpath=//input[@id='input-table-search'] ${Existing_User}
543 #Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Standard User
544 #Set Selenium Implicit Wait 3000
545
546Portal admin Edit Standard User Existing user
547 [Documentation] Naviage to Users tab
548 Click Link xpath=//a[@title='Users']
549 Click Element xpath=//input[@id='dropdown1']
550 # Click Element xpath=//li[contains(.,'Default')]
551# Set Selenium Implicit Wait 3000
552 Click Element xpath=//li[contains(.,'xDemo App')]
553# Set Selenium Implicit Wait 3000
554 Input Text xpath=//input[@id='input-table-search'] ${Existing_User}
555 Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Standard User
556 Click Element xpath=(.//*[@id='rowheader_t1_0'])[2]
557 # Click Element xpath=//*[@id='div-app-name-dropdown-Default']
558 # Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Standard-User-checkbox']
559 # Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Portal-Notification-Admin-checkbox']
560 Click Element xpath=//*[@id='app-select-Standard User1']
561 Click Element xpath=//*[@id='app-select-Standard User1']/following::input[@id='Standard-User-checkbox']
562 Set Selenium Implicit Wait 3000
563 Click Button xpath=//button[@id='new-user-save-button']
564 Set Selenium Implicit Wait 3000
565
566 Page Should Contain Users
567 Click Button xpath=//button[@ng-click='toggleSidebar()']
568 Click Button xpath=//button[@ng-click='users.openAddNewUserModal()']
569 Input Text xpath=//input[@id='input-user-search'] ${Existing_User}
570 Click Button xpath=//button[@id='button-search-users']
571 Click Element xpath=//span[@id='result-uuid-0']
572 Click Button xpath=//button[@id='next-button']
573 Click Element xpath=//div[@id='app-select-Select roles1']
574 Click Element xpath=//div[@id='app-select-Select roles1']/following::input[@id='System-Administrator-checkbox']
575 Set Selenium Implicit Wait 3000
576# Click Element xpath=//*[@id='app-select-Standard User1']
577# Click Element xpath=//*[@id='app-select-Standard User1']/following::input[@id='System-Administrator-checkbox']
578 # Click Element xpath=//*[@id='div-app-name-dropdown-SDC']
579 # Click Element xpath=//*[@id='div-app-name-SDC']/following::input[@id='Standard-User-checkbox']
580 # Click Element xpath=//*[@id='div-app-name-SDC']/following::input[@id='Portal-Notification-Admin-checkbox']
581 Set Selenium Implicit Wait 3000
582 Click Button xpath=//button[@id='new-user-save-button']
583 Set Selenium Implicit Wait 3000
584 Page Should Contain Users
585 #Click Button xpath=//input[@id='dropdown1']
586 #Click Element xpath=//li[contains(.,'xDemo App')]
587 Input Text xpath=//input[@id='input-table-search'] ${Existing_User}
588 # Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Portal Notification Admin
589 Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] System Administrator
590 Set Selenium Implicit Wait 3000
591
592 Portal admin Delete Standard User Existing user
593 [Documentation] Naviage to Users tab
594 Click Element xpath=(.//*[@id='rowheader_t1_0'])[2]
595# Scroll Element Into View xpath=//*[@id='div-app-name-Default']/following::*[@id='app-item-delete'][1]
596# Click Element xpath=//*[@id='div-app-name-Default']/following::*[@id='app-item-delete'][1]
597 Set Selenium Implicit Wait 9000
598 Scroll Element Into View xpath=//*[@id='div-app-name-xDemo-App']/following::*[@id='app-item-delete'][1]
599 Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::*[@id='app-item-delete'][1]
600# Scroll Element Into View xpath=//*[@id='div-app-name-SDC']/following::*[@id='app-item-delete'][1]
601# Click Element xpath=//*[@id='div-app-name-SDC']/following::*[@id='app-item-delete'][1]
602 Click Element xpath=//button[@id='div-confirm-ok-button']
603 Click Button xpath=//button[@id='new-user-save-button']
604 #Input Text xpath=//input[@id='input-table-search'] ${Existing_User}
605 #Is Element Visible xpath=(//*[contains(.,'Portal')] )[2]
606 Element Should Not Contain xpath=//*[@table-data='users.accountUsers'] Portal
607 #Element Should Not Contain xpath=//*[@table-data='users.accountUsers'] demo
608 Set Selenium Implicit Wait 3000
609
610
611Functional Top Menu Get Access
612 [Documentation] Naviage to Support tab
613 Go To ${PORTAL_HOME_URL}
614 Click Link xpath=//a[contains(.,'Support')]
615 Mouse Over xpath=//*[contains(text(),'Get Access')]
616 Click Link xpath=//a[contains(.,'Get Access')]
617 Element Text Should Be xpath=//h1[contains(.,'Get Access')] Get Access
618 Set Selenium Implicit Wait 3000
619
620Functional Top Menu Contact Us
621 [Documentation] Naviage to Support tab
622 Click Link xpath=//a[contains(.,'Support')]
623 Mouse Over xpath=//*[contains(text(),'Contact Us')]
624 Click Link xpath=//a[contains(.,'Contact Us')]
625 Element Text Should Be xpath=//h1[contains(.,'Contact Us')] Contact Us
626 Click Image xpath=//img[@alt='Onap Logo']
627 Set Selenium Implicit Wait 3000
628
629Portal admin Edit Functional menu
630 [Documentation] Naviage to Edit Functional menu tab
631 Click Link xpath=//a[@title='Edit Functional Menu']
632 Click Link xpath=.//*[@id='Manage']/div/a
633 Click Link xpath=.//*[@id='Design']/div/a
634 Click Link xpath=.//*[@id='Product_Design']/div/a
635 Open Context Menu xpath=//*[@id='Product_Design']/div/span
636 Click Link xpath=//a[@href='#add']
637 Input Text xpath=//input[@id='input-title'] ONAP Test
638 #Input Text xpath=//input[@id='input-url'] http://google.com
639 Click Element xpath=//input[@id='select-app']
640 Scroll Element Into View xpath=//li[contains(.,'xDemo App')]
641 Click Element xpath=//li[contains(.,'xDemo App')]
642 Input Text xpath=//input[@id='input-url'] http://google.com
643 Click Button xpath=//button[@id='button-save-continue']
644 #Click Button xpath=//div[@title='Select Roles']
645 Click Element xpath=//*[@id='app-select-Select Roles']
646 Click Element xpath=//input[@id='Standard-User-checkbox']
647 Click Element xpath=//button[@id='button-save-add']
648 Click Image xpath=//img[@alt='Onap Logo']
649 Set Selenium Implicit Wait 3000
650 Click Link xpath=//a[contains(.,'Manage')]
651 Mouse Over xpath=//*[contains(text(),'Design')]
652 Set Selenium Implicit Wait 3000
653 Element Text Should Be xpath=//a[contains(.,'ONAP Test')] ONAP Test
654 Set Selenium Implicit Wait 3000
655 Click Image xpath=//img[@alt='Onap Logo']
656 Click Link xpath=//a[@title='Edit Functional Menu']
657 Click Link xpath=.//*[@id='Manage']/div/a
658 Click Link xpath=.//*[@id='Design']/div/a
659 Click Link xpath=.//*[@id='Product_Design']/div/a
660 Open Context Menu xpath=//*[@id='ONAP_Test']
661 Click Link xpath=//a[@href='#delete']
662 Set Selenium Implicit Wait 3000
663 Click Element xpath=//button[@id='div-confirm-ok-button']
664 Click Image xpath=//img[@alt='Onap Logo']
665 Set Selenium Implicit Wait 3000
666 Click Link xpath=//a[contains(.,'Manage')]
667 Mouse Over xpath=//*[contains(text(),'Design')]
668 Set Selenium Implicit Wait 3000
669 Element Should Not Contain xpath=(.//*[contains(.,'Design')]/following::ul[1])[1] ONAP Test
670 Set Selenium Implicit Wait 3000
671 Click Image xpath=//img[@alt='Onap Logo']
672 Set Selenium Implicit Wait 3000
673
674Portal admin Microservice Onboarding
675 [Documentation] Naviage to Edit Functional menu tab
676 Click Link xpath=//a[@title='Microservice Onboarding']
677 Click Button xpath=//button[@id='microservice-onboarding-button-add']
678 Input Text xpath=//input[@name='name'] Test Microservice
679 Input Text xpath=//*[@name='desc'] Test
680 Click Element xpath=//input[@id='microservice-details-input-app']
681 Scroll Element Into View xpath=//li[contains(.,'xDemo App')]
682 Click Element xpath=//li[contains(.,'xDemo App')]
683 Click Element xpath=//*[@name='desc']
684 Input Text xpath=//input[@name='url'] ${PORTAL_MICRO_ENDPOINT}
685 Click Element xpath=//input[@id='microservice-details-input-security-type']
686 Scroll Element Into View xpath=//li[contains(.,'Basic Authentication')]
687 Click Element xpath=//li[contains(.,'Basic Authentication')]
688 Input Text xpath=//input[@name='username'] ${GLOBAL_PORTAL_ADMIN_USER}
689 Input Text xpath=//input[@name='password'] ${GLOBAL_PORTAL_ADMIN_PWD}
690 Click Button xpath=//button[@id='microservice-details-save-button']
691 Table Column Should Contain xpath=//*[@table-data='serviceList'] 1 Test Microservice
692 #Element Text Should Be xpath=//*[@table-data='serviceList'] Test Microservice
693 Set Selenium Implicit Wait 3000
694
695Portal admin Microservice Delete
696 [Documentation] Naviage to Edit Functional menu tab
697 Click Link xpath=//a[@title='Microservice Onboarding']
698 Click Button xpath=//button[@id='microservice-onboarding-button-add']
699 Input Text xpath=//input[@name='name'] TestMS
700 Input Text xpath=//*[@name='desc'] TestMS
701 Click Element xpath=//input[@id='microservice-details-input-app']
702 Scroll Element Into View xpath=//li[contains(.,'xDemo App')]
703 Click Element xpath=//li[contains(.,'xDemo App')]
704 Click Element xpath=//*[@name='desc']
705 Input Text xpath=//input[@name='url'] ${PORTAL_MICRO_ENDPOINT}
706 Click Element xpath=//input[@id='microservice-details-input-security-type']
707 Scroll Element Into View xpath=//li[contains(.,'Basic Authentication')]
708 Click Element xpath=//li[contains(.,'Basic Authentication')]
709 Input Text xpath=//input[@name='username'] ${GLOBAL_PORTAL_ADMIN_USER}
710 Input Text xpath=//input[@name='password'] ${GLOBAL_PORTAL_ADMIN_PWD}
711 Click Button xpath=//button[@id='microservice-details-save-button']
712 Execute Javascript window.scrollTo(0,document.body.scrollHeight);
713 Click Element xpath=(.//*[contains(text(),'TestMS')]/following::*[@ng-click='microserviceOnboarding.deleteService(rowData)'])[1]
714 Click Button xpath=//button[@id="div-confirm-ok-button"]
715 Set Selenium Implicit Wait 3000
716
717Portal Admin Create Widget for All users
718 [Documentation] Navigate to Create Widget menu tab
719 ${WidgetAttachment}= Catenate ${PORTAL_ASSETS_DIRECTORY}//news_widget.zip
720 Wait until page contains Element xpath=//a[@title='Widget Onboarding'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
721 Click Link xpath=//a[@title='Widget Onboarding']
722 Click Button xpath=//button[@ng-click='toggleSidebar()']
723 Click Button xpath=//button[@id='widget-onboarding-button-add']
724 Input Text xpath=//*[@name='name'] ONAP-xDemo
725 Input Text xpath=//*[@name='desc'] ONAP xDemo
726 Click Element xpath=//*[@id='widgets-details-input-endpoint-url']
727 Scroll Element Into View xpath=//li[contains(.,'News Microservice')]
728 Click Element xpath=//li[contains(.,'News Microservice')]
729 Click Element xpath=//*[contains(text(),'Allow all user access')]/preceding::input[@ng-model='widgetOnboardingDetails.widget.allUser'][1]
730 Choose File xpath=//input[@id='widget-onboarding-details-upload-file'] ${WidgetAttachment}
731 Click Button xpath=//button[@id='widgets-details-save-button']
732 Wait Until Page Contains ONAP-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
733 Page Should Contain ONAP-xDemo
734 Set Selenium Implicit Wait 3000
735 GO TO ${PORTAL_HOME_PAGE}
736
737
738Portal Admin Delete Widget for All users
739 [Documentation] Naviage to delete Widget menu tab
740 #Wait Until Page Contains ONAP-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
741 #Page Should Contain ONAP-xDemo
742 #Click Image xpath=//img[@alt='Onap Logo']
743 Click Link xpath=//a[@title='Widget Onboarding']
744 Click Element xpath=//input[@id='dropdown1']
745 Click Element xpath=//li[contains(.,'xDemo App')]
746 #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-xDemo')]/followi
747 #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-xDemo')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
748 Click Button xpath=//button[@ng-click='toggleSidebar()']
749 Click Element xpath=(.//*[contains(text(),'ONAP-xDemo')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1]
750 Click Element xpath=//button[@id='div-confirm-ok-button']
751 Set Selenium Implicit Wait 3000
752 Element Should Not Contain xpath=//*[@table-data='portalAdmin.portalAdminsTableData'] ONAP-xDemo
753 #Is Element Visible xpath=//*[@table-data='portalAdmin.portalAdminsTableData']
754 #Table Column Should Contain .//*[@table-data='portalAdmin.portalAdminsTableData'] 0 ONAP-xDemo
755 #Set Selenium Implicit Wait 3000
756
757Portal Admin Create Widget for Application Roles
758 [Documentation] Naviage to Create Widget menu tab
759 ${WidgetAttachment}= Catenate ${PORTAL_ASSETS_DIRECTORY}//news_widget.zip
760 Click Link xpath=//a[@title='Widget Onboarding']
761 Click Button xpath=//button[@ng-click='toggleSidebar()']
762 Click Button xpath=//button[@id='widget-onboarding-button-add']
763 Input Text xpath=//*[@name='name'] ONAP-xDemo
764 Input Text xpath=//*[@name='desc'] ONAP xDemo
765 Click Element xpath=//*[@id='widgets-details-input-endpoint-url']
766 Scroll Element Into View xpath=//li[contains(.,'News Microservice')]
767 Click Element xpath=//li[contains(.,'News Microservice')]
768 Click element xpath=//*[@id="app-select-Select Applications"]
769 click element xpath=//*[@id="xDemo-App-checkbox"]
770 Click element xpath=//*[@name='desc']
771 click element xpath=//*[@id="app-select-Select Roles0"]
772 click element xpath=//*[@id="Standard-User-checkbox"]
773 Click element xpath=//*[@name='desc']
774 Scroll Element Into View xpath=//input[@id='widget-onboarding-details-upload-file']
775 Choose File xpath=//input[@id='widget-onboarding-details-upload-file'] ${WidgetAttachment}
776 Click Button xpath=//button[@id='widgets-details-save-button']
777 Click Image xpath=//img[@alt='Onap Logo']
778 Set Selenium Implicit Wait 3000
779 #Wait Until Page Contains ONAP-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
780 Click Link xpath=//a[@title='Widget Onboarding']
781 Click Element xpath=//input[@id='dropdown1']
782 Click Element xpath=//li[contains(.,'xDemo App')]
783 Page Should Contain ONAP-xDemo
784 Set Selenium Implicit Wait 3000
785 GO TO ${PORTAL_HOME_PAGE}
786
787Portal Admin Delete Widget for Application Roles
788 #Wait Until Page Contains ONAP-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
789 #Page Should Contain ONAP-xDemo
790 #Click Image xpath=//img[@alt='Onap Logo']
791 Click Link xpath=//a[@title='Widget Onboarding']
792 Click Element xpath=//input[@id='dropdown1']
793 Click Element xpath=//li[contains(.,'xDemo App')]
794 #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-xDemo')]/followi
795 #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-xDemo')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
796 Click Button xpath=//button[@ng-click='toggleSidebar()']
797 Scroll Element Into View xpath=//*[contains(text(),'ONAP-xDemo')]/following::td[3]/div
798 Click Element xpath=//*[contains(text(),'ONAP-xDemo')]/following::td[3]/div
799 Click Element xpath=//button[@id='div-confirm-ok-button']
800 Set Selenium Implicit Wait 3000
801 Element Should Not Contain xpath=//*[@table-data='portalAdmin.portalAdminsTableData'] ONAP-xDemo
802 #Is Element Visible xpath=//*[@table-data='portalAdmin.portalAdminsTableData']
803 #Table Column Should Contain .//*[@table-data='portalAdmin.portalAdminsTableData'] 0 ONAP-xDemo
804 Set Selenium Implicit Wait 3000
805
806
807
808Portal Admin Edit Widget
809 [Documentation] Naviage to Home tab
810 #Mouse Over xpath=(//h3[contains(text(),'News')]/following::span[1])[1]
811 Click Element xpath=(//h3[contains(text(),'News')]/following::span[1])[1]
812 Set Browser Implicit Wait 8000
813 #Wait Until Element Is Visible xpath=(//h3[contains(text(),'News')]/following::span[1]/following::a[contains(text(),'Edit')])[1] 60
814 Mouse Over xpath=(//h3[contains(text(),'News')]/following::span[1]/following::a[contains(text(),'Edit')])[1]
815 Click Link xpath=(//h3[contains(text(),'News')]/following::span[1]/following::a[contains(text(),'Edit')])[1]
816 Input Text xpath=//input[@name='title'] ONAP_VID
817 Input Text xpath=//input[@name='url'] http://about.att.com/news/international.html
818 Input Text xpath=//input[@id='widget-input-add-order'] 5
819 Click Link xpath=//a[contains(.,'Add New')]
820 Click Element xpath=//div[@id='close-button']
821 Element Should Contain xpath=//*[@table-data='ignoredTableData'] ONAP_VID
822 Click Element xpath=.//div[contains(text(),'ONAP_VID')]/following::*[contains(text(),'5')][1]/following::div[@ng-click='remove($index);'][1]
823 Click Element xpath=//div[@id='confirmation-button-next']
824 Element Should Not Contain xpath=//*[@table-data='ignoredTableData'] ONAP_VID
825 Click Link xpath=//a[@id='close-button']
826 Set Selenium Implicit Wait 3000
827
828Portal Admin Broadcast Notifications
829 [Documentation] Portal Test Admin Broadcast Notifications
830 ${CurrentDay}= Get Current Date increment=24:00:00 result_format=%m/%d/%Y
831 ${NextDay}= Get Current Date increment=48:00:00 result_format=%m/%d/%Y
832 ${CurrentDate}= Get Current Date increment=24:00:00 result_format=%m%d%y%H%M
833 ${AdminBroadCastMsg}= catenate ONAP VID Broadcast Automation${CurrentDate}
834 Go To ${PORTAL_HOME_URL}
835 Click Image xpath=//img[@alt='Onap Logo']
836 Set Selenium Implicit Wait 3000
837 Click Link xpath=//*[@id="parent-item-User-Notifications"]
838 Wait until Element is visible xpath=//*[@id="button-openAddNewApp"] timeout=10
839 Click button xpath=//*[@id="button-openAddNewApp"]
840 Input Text xpath=//input[@id='datepicker-start'] ${CurrentDay}
841 Input Text xpath=//input[@id='datepicker-end'] ${NextDay}
842 Input Text xpath=//*[@id="add-notification-input-title"] ONAP VID Broadcast Automation
843 Input Text xpath=//*[@id="user-notif-input-message"] ${AdminBroadCastMsg}
844 click element xpath=//*[@id="button-notification-save"]
845 Wait until Element is visible xpath=//*[@id="button-openAddNewApp"] timeout=10
846 click element xpath=//*[@id="megamenu-notification-button"]
847 click element xpath=//*[@id="notification-history-link"]
848# Notification bug, Uncomment the code when PORTAL-232 is fixed
849 # Wait until Element is visible xpath=//*[@id="notification-history-table"] timeout=10
850 # Table Column Should Contain xpath=//*[@id="notification-history-table"] 2 ${AdminBroadCastMsg}
851 Set Selenium Implicit Wait 3000
852 log ${AdminBroadCastMsg}
853 [Return] ${AdminBroadCastMsg}
854
855Portal Admin Category Notifications
856 [Documentation] Portal Admin Broadcast Notifications
857 ${CurrentDay}= Get Current Date increment=24:00:00 result_format=%m/%d/%Y
858 ${NextDay}= Get Current Date increment=48:00:00 result_format=%m/%d/%Y
859# ${CurrentDay}= Get Current Date result_format=%m/%d/%Y
860 ${CurrentDate}= Get Current Date increment=24:00:00 result_format=%m%d%y%H%M
861 ${AdminCategoryMsg}= catenate ONAP VID Category Automation${CurrentDate}
862 Click Link xpath=//a[@id='parent-item-Home']
863 Click Link xpath=//*[@id="parent-item-User-Notifications"]
864 Wait until Element is visible xpath=//*[@id="button-openAddNewApp"] timeout=10
865 Click button xpath=//*[@id="button-openAddNewApp"]
866 #Select Radio Button NO radio-button-no
867 Click Element //*[contains(text(),'Broadcast to All Categories')]/following::*[contains(text(),'No')][1]
868 #Select Radio Button //label[@class='radio'] radio-button-approles
869 Click Element xpath=//*[contains(text(),'Categories')]/following::*[contains(text(),'Application Roles')][1]
870 Click Element xpath=//*[contains(text(),'xDemo App')]/preceding::input[@ng-model='member.isSelected'][1]
871 Input Text xpath=//input[@id='datepicker-start'] ${CurrentDay}
872 Input Text xpath=//input[@id='datepicker-end'] ${NextDay}
873 Input Text xpath=//*[@id="add-notification-input-title"] ONAP VID Category Automation
874 Input Text xpath=//*[@id='user-notif-input-message'] ${AdminCategoryMsg}
875 click element xpath=//*[@id="button-notification-save"]
876 Wait until Element is visible xpath=//*[@id="button-openAddNewApp"] timeout=10
877 click element xpath=//*[@id="megamenu-notification-button"]
878 click element xpath=//*[@id="notification-history-link"]
879# Notification bug, Uncomment the code when PORTAL-232 is fixed
880 # Wait until Element is visible xpath=//*[@id="notification-history-table"] timeout=10
881 # Table Column Should Contain xpath=//*[@id="notification-history-table"] 2 ${AdminCategoryMsg}
882 Set Selenium Implicit Wait 3000
883 log ${AdminCategoryMsg}
884 [Return] ${AdminCategoryMsg}
885
886Portal admin Logout from Portal GUI
887 [Documentation] Logout from Portal GUI
888 Click Element xpath=//div[@id='header-user-icon']
889 Click Button xpath=//button[contains(.,'Log out')]
890 Title Should Be Login
891
892Application admin Login To Portal GUI
893 [Documentation] Logs into Portal GUI
894 # Setup Browser Now being managed by test case
895 ##Setup Browser
896# Go To ${PORTAL_LOGIN_URL}
897# Maximize Browser Window
898# Set Selenium Speed ${GLOBAL_SELENIUM_DELAY}
899# Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
900# Log Logging in to ${PORTAL_URL}${PORTAL_ENV}
901 # Handle Proxy Warning
902 Title Should Be Login
903 Input Text xpath=//input[@ng-model='loginId'] ${App_LoginID}
904 Input Password xpath=//input[@ng-model='password'] ${App_Loginpwd}
905 Click Link xpath=//a[@id='loginBtn']
906 Wait Until Page Contains Element xpath=//img[@alt='Onap Logo'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
907 Log Logged in to ${PORTAL_URL}${PORTAL_ENV}
908
909Application Admin Navigation Application Link Tab
910 [Documentation] Logs into Portal GUI as application admin
911 Click Link xpath=//a[@id='parent-item-Home']
912 Click Element xpath=.//h3[contains(text(),'xDemo App')]/following::div[1]
913 Page Should Contain ONAP Portal
914 Scroll Element Into View xpath=//i[@class='ion-close-round']
915 Click Element xpath=//i[@class='ion-close-round']
916 Set Selenium Implicit Wait 3000
917 #Click Element xpath=(.//span[@id='tab-Home'])[1]
918
919
920Application Admin Navigation Functional Menu
921 [Documentation] Logs into Portal GUI as application admin
922 Click Link xpath=//a[contains(.,'Manage')]
923 Mouse Over xpath=//*[contains(text(),'Technology Insertion')]
924 Click Link xpath= //*[contains(text(),'Infrastructure VNF Provisioning')]
925 Page Should Contain ONAP Portal
926 Click Element xpath=//i[@class='ion-close-round']
927 Click Element xpath=(.//span[@id='tab-Home'])[1]
928
929
930Application admin Add Standard User Existing user
931 [Documentation] Naviage to Users tab
932 Click Link xpath=//a[@title='Users']
933 Page Should Contain Users
934 Click Button xpath=//button[@ng-click='toggleSidebar()']
935 Click Button xpath=//button[@ng-click='users.openAddNewUserModal()']
936 Input Text xpath=//input[@id='input-user-search'] ${Existing_User}
937 Click Button xpath=//button[@id='button-search-users']
938 Click Element xpath=//span[@id='result-uuid-0']
939 Click Button xpath=//button[@id='next-button']
940 Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App']
941 Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox']
942 # Click Element xpath=//*[@id='div-app-name-dropdown-Default']
943 # Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Standard-User-checkbox']
944 # Set Selenium Implicit Wait 3000
945 Click Button xpath=//button[@id='new-user-save-button']
946 Set Selenium Implicit Wait 3000
947 #Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
948 #Select From List xpath=//input[@value='Select application'] xDemo App
949 #Click Link xpath=//a[@title='Users']
950 #Page Should Contain Users
951 Go To ${PORTAL_HOME_PAGE}
952 Set Selenium Implicit Wait 3000
953 Click Link xpath=//a[@title='Users']
954 Click Element xpath=//input[@id='dropdown1']
955 #Click Element xpath=//li[contains(.,'Default')]
956 Click Element xpath=//li[contains(.,'xDemo App')]
957 Input Text xpath=//input[@id='input-table-search'] ${Existing_User}
958 # Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Account Administrator
959 Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Standard User
960
961Application admin Edit Standard User Existing user
962 [Documentation] Naviage to Users tab
963 Click Element xpath=(.//*[@id='rowheader_t1_0'])[2]
964 # Click Element xpath=//*[@id='div-app-name-dropdown-Default']
965 # Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Standard-User-checkbox']
966 # Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Portal-Notification-Admin-checkbox']
967 Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App']
968 Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox']
969 Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='System-Administrator-checkbox']
970 Set Selenium Implicit Wait 3000
971 Click Button xpath=//button[@id='new-user-save-button']
972 Set Selenium Implicit Wait 3000
973 Page Should Contain Users
974 #Click Button xpath=//input[@id='dropdown1']
975 #Click Element xpath=//li[contains(.,'xDemo App')]
976 Input Text xpath=//input[@id='input-table-search'] ${Existing_User}
977 # Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Account Administrator
978 Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] System Administrator
979
980Application admin Delete Standard User Existing user
981 [Documentation] Naviage to Users tab
982 Click Element xpath=(.//*[@id='rowheader_t1_0'])[2]
983# Scroll Element Into View xpath=//*[@id='div-app-name-Default']/following::*[@id='app-item-delete'][1]
984# Click Element xpath=//*[@id='div-app-name-Default']/following::*[@id='app-item-delete'][1]
985 Scroll Element Into View xpath=//*[@id='div-app-name-xDemo-App']/following::*[@id='app-item-delete'][1]
986 Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::*[@id='app-item-delete'][1]
987 Click Element xpath=//button[@id='div-confirm-ok-button']
988 Click Button xpath=//button[@id='new-user-save-button']
989# Input Text xpath=//input[@id='input-table-search'] ${Existing_User}
990# Is Element Visible xpath=(//*[contains(.,'Portal')] )[2]
991 Element Should Not Contain xpath=//*[@table-data='users.accountUsers'] Portal
992 #Click Image xpath=//img[@alt='Onap Logo']
993 Set Selenium Implicit Wait 3000
994
995Application admin Logout from Portal GUI
996 [Documentation] Logout from Portal GUI
997 Click Element xpath=//div[@id='header-user-icon']
998 #Set Selenium Implicit Wait 3000
999 Click Button xpath=//button[contains(text(),'Log out')]
1000 #Set Selenium Implicit Wait 3000
1001 Title Should Be Login
1002
1003Standared user Login To Portal GUI
1004 [Documentation] Logs into Portal GUI
1005 # Setup Browser Now being managed by test case
1006 ##Setup Browser
1007# Go To ${PORTAL_LOGIN_URL}
1008# Maximize Browser Window
1009# Set Selenium Speed ${GLOBAL_SELENIUM_DELAY}
1010# Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
1011# Log Logging in to ${PORTAL_URL}${PORTAL_ENV}
1012 # Handle Proxy Warning
1013 Title Should Be Login
1014 Input Text xpath=//input[@ng-model='loginId'] ${Sta_LoginID}
1015 Input Password xpath=//input[@ng-model='password'] ${Sta_Loginpwd}
1016 Click Link xpath=//a[@id='loginBtn']
1017 Wait Until Page Contains Element xpath=//img[@alt='Onap Logo'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
1018 Log Logged in to ${PORTAL_URL}${PORTAL_ENV}
1019
1020Standared user Navigation Application Link Tab
1021 [Documentation] Logs into Portal GUI as application admin
1022 #Portal admin Go To Portal HOME
1023 Click Element xpath=.//h3[contains(text(),'xDemo App')]/following::div[1]
1024 Page Should Contain ONAP Portal
1025 Click Element xpath=(.//span[@id='tab-Home'])[1]
1026 Set Selenium Implicit Wait 3000
1027
1028Standared user Navigation Functional Menu
1029 [Documentation] Logs into Portal GUI as application admin
1030 Click Link xpath=//a[contains(.,'Manage')]
1031 Mouse Over xpath=//*[contains(text(),'Technology Insertion')]
1032 Click Link xpath= //*[contains(text(),'Infrastructure VNF Provisioning')]
1033 Page Should Contain Welcome to VID
1034 Click Element xpath=(.//span[@id='tab-Home'])[1]
1035 Set Selenium Implicit Wait 3000
1036
1037
1038Standared user Broadcast Notifications
1039 [Documentation] Logs into Portal GUI as application admin
1040 [Arguments] ${AdminBroadCastMsg}
1041 Click element xpath=//*[@id='megamenu-notification-button']
1042 Click element xpath=//*[@id='notification-history-link']
1043 Wait until Element is visible xpath=//*[@id='app-title'] timeout=10
1044 Table Column Should Contain xpath=//*[@id='notification-history-table'] 2 ${AdminBroadCastMsg}
1045 log ${AdminBroadCastMsg}
1046
1047
1048Standared user Category Notifications
1049 [Documentation] Logs into Portal GUI as application admin
1050 [Arguments] ${AdminCategoryMsg}
1051 #click element xpath=//*[@id='megamenu-notification-button']
1052 #click element xpath=//*[@id="notification-history-link"]
1053 Wait until Element is visible xpath=//*[@id='app-title'] timeout=10
1054 Table Column Should Contain xpath=//*[@id='notification-history-table'] 2 ${AdminCategoryMsg}
1055 log ${AdminCategoryMsg}
1056
1057Standared user Logout from Portal GUI
1058 [Documentation] Logout from Portal GUI
1059 Click Element xpath=//div[@id='header-user-icon']
1060 Click Button xpath=//button[contains(.,'Log out')]
1061 #Confirm Action
1062 Title Should Be Login
1063
1064Portal admin Add New Account
1065 Click Link //*[@id="parent-item-App-Account-Management"]
1066 Click Button xpath=//button[@ng-click='toggleSidebar()']
1067 Set Selenium Implicit Wait 3000
1068 Click Button //*[@id="account-onboarding-button-add"]
1069 Set Selenium Implicit Wait 3000
1070 Input Text //*[@id="account-details-input-name"] ${AppAccountName}
1071 Input Text //*[@id="account-details-input-username"] ${AppUserName}
1072 Input Text //*[@id="account-details-input-password"] ${AppPassword}
1073 Input Text //*[@id="account-details-input-repassword"] ${AppPassword}
1074 # Click Button xpath=//*[@ng-click='accountAddDetails.saveChanges()']
1075 # #Click Button xpath=//button[@ng-click='admins.openAddNewAdminModal()']
1076 #account-details-next-button
1077 Click Button xpath=//button[@ng-click='accountAddDetails.saveChanges()']
1078
1079Portal admin Delete Account
1080 Click Link //*[@id="parent-item-App-Account-Management"]
1081 Click Button xpath=//button[@ng-click='toggleSidebar()']
1082 Set Selenium Implicit Wait 3000
1083 Click Button //*[@id="account-onboarding-button-add"]
1084 Set Selenium Implicit Wait 3000
1085
1086Tear Down
1087 [Documentation] Close all browsers
1088 Close All Browsers
1089
1090Enhanced Notification on ONAP Portal
1091 [Documentation] Runs portal Post request
1092 [Arguments] ${data_path} ${data}
1093 # Log Creating session ${GLOBAL_PORTAL_SERVER_URL}
1094 ${session}= Create Session portal ${PORTAL_URL}
1095 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json Authorization=Basic amlyYTpfcGFzcw== username=jira password=_pass
1096 ${resp}= Post Request portal ${data_path} data=${data} headers=${headers}
1097 # Log Received response from portal ${resp.text}
1098 [Return] ${resp}
1099
1100Notification on ONAP Portal
1101 [Documentation] Create Config portal
1102 ${configportal}= Create Dictionary jira_id=${jira}
1103 ${output} = Fill JSON Template File ${portal_Template} ${configportal}
1104 ${post_resp} = Enhanced Notification on ONAP Portal ${RESOURCE_PATH} ${output}
1105 Should Be Equal As Strings ${post_resp.status_code} 200
1106
1107Portal Application Account Management
1108 [Documentation] Naviage to Application Account Management tab
1109 Click Link xpath=//a[@title='App Account Management']
1110 Click Button xpath=//button[@id='account-onboarding-button-add']
1111 Input Text xpath=//input[@name='name'] JIRA
1112 Input Text xpath=//input[@name='username'] jira
1113 Input Text xpath=//input[@name='password'] _pass
1114 Input Text xpath=//input[@name='repassword'] _pass
1115 Click Element xpath=//div[@ng-click='accountAddDetails.saveChanges()']
1116 Element Text Should Be xpath=//*[@table-data='serviceList'] JIRA
1117
1118Portal Application Account Management validation
1119 [Documentation] Naviage to user notification tab
1120 Click Link xpath=//a[@id='parent-item-User-Notifications']
1121 click element xpath=//*[@id="megamenu-notification-button"]
1122 Click element xpath=//*[@id="notification-history-link"]
1123 Wait until Element is visible xpath=//*[@id="notification-history-table"] timeout=10
1124 Table Column Should Contain xpath=//*[@id="notification-history-table"] 1 JIRA
1125
1126
1127Portal AAF new fields
1128 [Documentation] Naviage to user Application details tab
1129 Click Link xpath=//a[@title='Application Onboarding']
1130 Click Element xpath=//td[contains(.,'xDemo App')]
1131 Page Should Contain Name Space
1132 Page Should Contain Centralized
1133 Click Element xpath=//button[@id='button-notification-cancel']
1134 Set Selenium Implicit Wait 3000
1135
1136Portal Change REST URL
1137 [Documentation] Naviage to user Application details tab
1138 Click Link xpath=//a[@title='Application Onboarding']
1139 Click Element xpath=//td[contains(.,'xDemo App')]
1140 Input Text xpath=//input[@name='restUrl'] ${PORTAL_XDEMPAPP_REST_URL}
1141 Click Element xpath=//button[@id='button-save-app']
1142 Set Selenium Implicit Wait 6000
1143 Go To ${PORTAL_HOME_PAGE}
1144 Wait Until Element Is Visible xpath=//a[@title='Application Onboarding'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
1145
1146Admin widget download
1147 Go To ${PORTAL_HOME_URL}
1148 Wait until page contains Element xpath=//a[@title='Widget Onboarding'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
1149 click Link xpath=//a[@title='Widget Onboarding']
1150 Wait until page contains Element xpath=//table[@class='ng-scope']
1151 ${td_id}= get element attribute xpath=//*[contains(text(),'Events')]@id
1152 log ${td_id}
1153 ${test}= Get Substring ${td_id} -1
1154 log ${test}
1155 ${download_link_id}= Catenate 'widget-onboarding-div-download-widget-${test}'
1156 click Element xpath=//*[@id=${download_link_id}]
1157
1158Reset widget layout option
1159 Go To ${PORTAL_HOME_URL}
1160 Wait Until Page Contains Element xpath=//div[@id='widget-boarder'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
1161 Execute Javascript document.getElementById('widgets').scrollTo(0,1400)
1162 Wait Until Page Contains Element xpath=//*[@id='widget-gridster-Events-icon'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
1163 Execute Javascript document.getElementById('widgets').scrollTo(0,1800)
1164 Drag And Drop By Offset xpath=//*[@id='widget-gridster-Events-icon'] 500 500
1165 Execute Javascript document.getElementById('widgets').scrollTo(0,document.getElementById('widgets').scrollHeight);
1166 Execute Javascript document.getElementById('dashboardDefaultPreference').click()
1167 Execute Javascript document.getElementById('div-confirm-ok-button').click()
1168
1169Add Portal Admin
1170 Click Link xpath=//a[@id='parent-item-Portal-Admins']
1171 Scroll Element Into View xpath=//button[@id='portal-admin-button-add']
1172 Click Button xpath=//button[@id='portal-admin-button-add']
1173 Input Text xpath=//input[@id='input-user-search'] ${Existing_User}
1174 Click Button xpath=//button[@id='button-search-users']
1175 Wait Until Page Contains Element xpath=//span[@id='result-uuid-0'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
1176 Click Element xpath=//span[@id='result-uuid-0']
1177 Click Button xpath=//button[@id='pa-search-users-button-save']
1178 Click Button xpath=//button[@id='admin-div-ok-button']
1179
1180
1181Delete Portal Admin
1182 Wait Until Page Does Not Contain Element xpath=//*[@class='b2b-modal-header']
1183 Click Link xpath=//a[@id='parent-item-Portal-Admins']
1184 Click Element xpath=//td[contains(.,'portal')]/following::span[@id='1-button-portal-admin-remove']
1185 Click Button xpath=//*[@id='div-confirm-ok-button']