harbor/tests/resources/Harbor-Pages/Vulnerability.robot

72 lines
2.9 KiB
Plaintext

*** Settings ***
Documentation This resource provides any keywords related to the Harbor private registry appliance
Resource ../../resources/Util.robot
*** Variables ***
${HARBOR_VERSION} v1.1.1
*** Keywords ***
Disable Scan Schedule
Click Element //vulnerability-config//button[@id='editSchedule']
Click Element //vulnerability-config//select[@id='scanAllPolicy']
Click Element //vulnerability-config//select[@id='scanAllPolicy']//option[contains(.,'None')]
Click Element //button[@id='config_vulnerbility_save']
Go To Vulnerability Config
Click Element //config//button[contains(.,'Vulnerability')]
Trigger Scan Now
Click Element //config//button[contains(.,'NOW')]
Sleep 10
Set Vulnerabilty Serverity
#0 is high 1 is medium 2 is low 3 is negligible
[Arguments] ${level}
Goto Project Config
#enable first
Click Element //project-detail//div[@id='prevent-vulenrability-image']//label
Checkbox Should Be Selected //project-detail//clr-checkbox-wrapper//input[@name='prevent-vulenrability-image-input']
Click Element //project-detail//select
#wait for dropdown popup
Sleep 1
Select From List By Index //project-detail//select ${level}
Click Element //hbr-project-policy-config//button[contains(.,'SAVE')]
Scan Is Disabled
Page Should Contain Element //button[contains(.,'Scan') and @disabled='']
Move To Summary Chart
Sleep 2
Wait Until Element Is Visible //hbr-vulnerability-bar//hbr-vulnerability-summary-chart
Mouse Over //hbr-vulnerability-summary-chart
Sleep 1
Scan Repo
#use fail for image clair can not scan, otherwise use success
[Arguments] ${tagname} ${status}
#select one tag
Click Element //clr-dg-row[contains(.,'${tagname}')]//label
Click Element //button[contains(.,'Scan')]
Run Keyword If '${status}' == 'Succeed' Wait Until Element Is Visible //hbr-vulnerability-bar//hbr-vulnerability-summary-chart 300
Run Keyword If '${status}' == 'Fail' Wait Until Element Is Visible //hbr-vulnerability-bar//a 300
Summary Chart Should Display
[Arguments] ${tagname}
Page Should Contain Element //clr-dg-row[contains(.,'${tagname}')]//hbr-vulnerability-bar//hbr-vulnerability-summary-chart
Enable Scan On Push
Checkbox Should Not Be Selected //clr-checkbox-wrapper[@id='scan-image-on-push-wrapper']//input
Click Element //clr-checkbox-wrapper[@id='scan-image-on-push-wrapper']//label
Checkbox Should Be Selected //clr-checkbox-wrapper[@id='scan-image-on-push-wrapper']//input
Click Element //hbr-project-policy-config//button[contains(.,'SAVE')]
Sleep 10
Vulnerability Not Ready Project Hint
${element}= Set Variable xpath=//span[contains(@class, 'db-status-warning')]
Wait Until Element Is Visible And Enabled ${element}
Vulnerability Not Ready Config Hint
${element}= Set Variable xpath=//vulnerability-config//clr-tooltip
Wait Until Element Is Visible And Enabled ${element}