mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-23 18:55:18 +01:00
0107eb39f0
Refactor unstable test cases Fix #19282 Signed-off-by: Yang Jiao <jiaoya@vmware.com>
115 lines
4.3 KiB
Plaintext
115 lines
4.3 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 This resource provides any keywords related to the Harbor private registry appliance
|
|
Resource ../../resources/Util.robot
|
|
|
|
*** Variables ***
|
|
|
|
*** Keywords ***
|
|
Delete Success
|
|
[Arguments] @{obj}
|
|
FOR ${obj} IN @{obj}
|
|
Retry Wait Until Page Contains Element //*[@id='contentAll']//div[contains(.,'${obj}')]/../div/clr-icon[@shape='success-standard']
|
|
END
|
|
|
|
Delete Fail
|
|
[Arguments] @{obj}
|
|
FOR ${obj} IN @{obj}
|
|
Retry Wait Until Page Contains Element //*[@id='contentAll']//div[contains(.,'${obj}')]/../div/clr-icon[@shape='error-standard']
|
|
END
|
|
Sleep 1
|
|
|
|
Filter Object
|
|
#Filter project repo user tag.
|
|
[Arguments] ${kw}
|
|
Retry Element Click xpath=//hbr-filter//clr-icon
|
|
${element}= Set Variable xpath=//hbr-filter//input
|
|
Wait Until Element Is Visible And Enabled ${element}
|
|
Retry Clear Element Text ${element}
|
|
Retry Text Input ${element} ${kw}
|
|
Sleep 3
|
|
|
|
Filter Project
|
|
[Arguments] ${kw}
|
|
Retry Element Click ${logs_xpath}
|
|
Retry Element Click ${projects_xpath}
|
|
Filter Object ${kw}
|
|
|
|
Select Object
|
|
#select single element such as user project repo tag
|
|
[Arguments] ${obj}
|
|
Retry Element Click xpath=//clr-dg-row[contains(.,'${obj}')]//label[contains(@class,'clr-control-label')]
|
|
|
|
Multi-delete Object
|
|
[Arguments] ${delete_btn} @{obj}
|
|
FOR ${obj} IN @{obj}
|
|
${element}= Set Variable xpath=//clr-dg-row[contains(.,'${obj}')]//label[contains(@class,'clr-control-label')]
|
|
Retry Element Click ${element}
|
|
END
|
|
Sleep 1
|
|
Retry Element Click ${delete_btn}
|
|
Sleep 1
|
|
Retry Element Click ${repo_delete_on_card_view_btn}
|
|
Sleep 1
|
|
Sleep 1
|
|
|
|
# This func cannot support as the delete user flow changed.
|
|
Multi-delete Artifact
|
|
[Arguments] @{obj}
|
|
FOR ${obj} IN @{obj}
|
|
${element}= Set Variable xpath=//clr-dg-row[contains(.,'${obj}')]//label[contains(@class,'clr-control-label')]
|
|
Retry Element Click ${element}
|
|
END
|
|
Sleep 1
|
|
Retry Element Click ${artifact_action_xpath}
|
|
Sleep 1
|
|
Retry Element Click ${artifact_action_delete_xpath}
|
|
Sleep 1
|
|
Retry Element Click ${repo_delete_on_card_view_btn}
|
|
Sleep 1
|
|
Sleep 1
|
|
|
|
Multi-delete User
|
|
[Arguments] @{obj}
|
|
FOR ${obj} IN @{obj}
|
|
Retry Element Click //clr-dg-row[contains(.,'${obj}')]//label[contains(@class,'clr-control-label')]
|
|
END
|
|
Retry Element Click ${member_action_xpath}
|
|
Retry Element Click //*[@id='deleteUser']
|
|
Retry Double Keywords When Error Retry Element Click ${delete_btn} Retry Wait Until Page Not Contains Element ${delete_btn}
|
|
|
|
|
|
Multi-delete Member
|
|
[Arguments] @{obj}
|
|
FOR ${obj} IN @{obj}
|
|
Retry Element Click //clr-dg-row[contains(.,'${obj}')]//div[contains(@class,'clr-checkbox-wrapper')]/label[contains(@class,'clr-control-label')]
|
|
END
|
|
Retry Double Keywords When Error Retry Element Click ${member_action_xpath} Retry Wait Until Page Contains Element ${delete_action_xpath}
|
|
Retry Double Keywords When Error Retry Element Click ${delete_action_xpath} Retry Wait Until Page Contains Element ${delete_btn}
|
|
Retry Double Keywords When Error Retry Element Click ${delete_btn} Retry Wait Until Page Not Contains Element ${delete_btn}
|
|
|
|
|
|
Multi-delete Object Without Confirmation
|
|
[Arguments] @{obj}
|
|
FOR ${obj} IN @{obj}
|
|
Retry Element Click //clr-dg-row[contains(.,'${obj}')]//label[contains(@class,'clr-control-label')]
|
|
END
|
|
Retry Double Keywords When Error Retry Element Click ${delete_btn_2} Retry Wait Until Page Not Contains Element ${delete_btn_2}
|
|
|
|
|
|
Select All On Current Page Object
|
|
Retry Element Click //div[@class='datagrid-head']//label[contains(@class,'clr-control-label')]
|