mirror of
https://github.com/goharbor/harbor.git
synced 2024-12-30 20:48:23 +01:00
e58f18bd51
Add retry to improve test case stability Signed-off-by: Yang Jiao <jiaoya@vmware.com>
112 lines
5.9 KiB
Plaintext
112 lines
5.9 KiB
Plaintext
# Copyright Project Harbor Authors
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License
|
|
|
|
*** Settings ***
|
|
Documentation Harbor BATs
|
|
Resource ../../resources/Util.robot
|
|
Default Tags Nightly
|
|
|
|
*** Variables ***
|
|
${HARBOR_URL} https://${ip}
|
|
${HARBOR_ADMIN} admin
|
|
|
|
*** Test Cases ***
|
|
Test Case - Main Menu Routing
|
|
[Tags] main_menu_routing
|
|
Init Chrome Driver
|
|
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
|
|
&{routing}= Create Dictionary harbor/projects=//projects//div//h2[contains(.,'Projects')]
|
|
... harbor/logs=//hbr-log//div//h2[contains(.,'Logs')]
|
|
... harbor/users=//harbor-user//div//h2[contains(.,'Users')]
|
|
... harbor/robot-accounts=//system-robot-accounts//h2[contains(.,'Robot Accounts')]
|
|
... harbor/registries=//hbr-endpoint//h2[contains(.,'Registries')]
|
|
... harbor/replications=//total-replication//h2[contains(.,'Replications')]
|
|
... harbor/distribution/instances=//dist-instances//div//h2[contains(.,'Instances')]
|
|
... harbor/labels=//app-labels//h2[contains(.,'Labels')]
|
|
... harbor/project-quotas=//app-project-quotas//h2[contains(.,'Project Quotas')]
|
|
... harbor/interrogation-services/scanners=//config-scanner//div//h4[contains(.,'Image Scanners')]
|
|
... harbor/interrogation-services/vulnerability=//vulnerability-config//div//button[contains(.,'SCAN NOW')]
|
|
... harbor/clearing-job/gc=//gc-history//h5[contains(.,'GC History')]
|
|
... harbor/clearing-job/audit-log-purge=//app-purge-history//h5[contains(.,'Purge History')]
|
|
... harbor/configs/auth=//config//config-auth//label[contains(.,'Auth Mode')]
|
|
... harbor/configs/email=//config//config-email//label[contains(.,'Email Server Port')]
|
|
... harbor/configs/security=//config//app-security//span[contains(.,'CVE allowlist')]
|
|
... harbor/configs/setting=//config//system-settings//label[contains(.,'Project Creation')]
|
|
FOR ${key} IN @{routing.keys()}
|
|
Retry Double Keywords When Error Go To ${HARBOR_URL}/${key} Retry Wait Element ${routing['${key}']}
|
|
END
|
|
Close Browser
|
|
|
|
Test Case - Project Tab Routing
|
|
[Tags] project_tab_routing
|
|
Init Chrome Driver
|
|
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
|
|
&{routing}= Create Dictionary harbor/projects/1/summary=//project-detail//summary
|
|
... harbor/projects/1/repositories=//project-detail//hbr-repository-gridview
|
|
... harbor/projects/1/helm-charts=//project-detail//project-list-charts
|
|
... harbor/projects/1/members=//project-detail//ng-component//button//span[contains(.,'User')]
|
|
... harbor/projects/1/labels=//project-detail//app-project-config//hbr-label
|
|
... harbor/projects/1/scanner=//project-detail//scanner
|
|
... harbor/projects/1/p2p-provider/policies=//project-detail//ng-component//button//span[contains(.,'NEW POLICY')]
|
|
... harbor/projects/1/tag-strategy/tag-retention=//project-detail//app-tag-feature-integration//tag-retention
|
|
... harbor/projects/1/tag-strategy/immutable-tag=//project-detail//app-tag-feature-integration//app-immutable-tag
|
|
... harbor/projects/1/robot-account=//project-detail//app-robot-account
|
|
... harbor/projects/1/webhook=//project-detail//ng-component//button//span[contains(.,'New Webhook')]
|
|
... harbor/projects/1/logs=//project-detail//audit-log
|
|
... harbor/projects/1/configs=//project-detail//app-project-config//hbr-project-policy-config
|
|
FOR ${key} IN @{routing.keys()}
|
|
Retry Double Keywords When Error Go To ${HARBOR_URL}/${key} Retry Wait Element ${routing['${key}']}
|
|
END
|
|
Close Browser
|
|
|
|
Test Case - Open License Page
|
|
[Tags] license_page
|
|
Init Chrome Driver
|
|
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
|
|
View About
|
|
Retry Double Keywords When Error Click Link New Tab And Switch ${license_xpath} Retry Wait Until Page Contains Apache License
|
|
Close Browser
|
|
|
|
Test Case - Open More Info Page
|
|
[Tags] more_info_page
|
|
Init Chrome Driver
|
|
Go To ${HARBOR_URL}
|
|
Retry Double Keywords When Error Click Link New Tab And Switch ${more_info_link_xpath} Retry Wait Until Page Contains An open source trusted cloud native registry project that stores, signs, and scans content.
|
|
Close Browser
|
|
|
|
Test Case - Open CVE Details Page
|
|
[Tags] cve_details_page
|
|
${d}= Get Current Date result_format=%m%s
|
|
${image}= Set Variable goharbor/harbor-portal
|
|
${sha256}= Set Variable 55d776fc7f431cdd008c3d8fc3e090c81c1368ed9ed85335f4664df71f864f0d
|
|
${cve}= Set Variable CVE-2021-36222
|
|
Init Chrome Driver
|
|
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
|
|
Create An New Project And Go Into Project project${d}
|
|
Push Image ${ip} ${HARBOR_ADMIN} ${HARBOR_PASSWORD} project${d} ${image} sha256=${sha256}
|
|
Go Into Repo project${d}/${image}
|
|
Scan Repo ${sha256} Succeed
|
|
Go Into Artifact ${sha256}
|
|
Retry Double Keywords When Error Click Link New Tab And Switch //hbr-artifact-vulnerabilities//clr-dg-row//a[contains(.,'${cve}')] Retry Wait Element //h1[contains(.,'${cve}')]
|
|
Close Browser
|
|
|
|
Test Case - Open Image Scanners Documentation Page
|
|
[Tags] image_scanners_documentation_page
|
|
Init Chrome Driver
|
|
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
|
|
Switch To Scanners Page
|
|
Retry Element Click ${view_scanner_icon_xpath}
|
|
Retry Double Keywords When Error Click Link New Tab And Switch ${view_scanner_doc_xpath} Retry Wait Until Page Contains Vulnerability Scanning with Pluggable Scanners
|
|
Close Browser
|