119 lines
3.9 KiB
Plaintext
119 lines
3.9 KiB
Plaintext
*** Settings ***
|
|
Library SeleniumLibrary run_on_failure=Nothing
|
|
|
|
*** Variables ***
|
|
${URL} https://git.dotya.ml/
|
|
${BROWSER} chrome
|
|
${DELAY} 0.2
|
|
|
|
${LOGIN_BUTTON} //*[@id="navbar"]/div[2]/a[2]
|
|
${SIGN_IN} //form/div[4]/button[1]
|
|
${USERNAME_FIELD} //*[@id="user_name"]
|
|
${PASSWD_FIELD} //*[@id="password"]
|
|
|
|
${EXPLORE_TABBAR_BUTTON} //*[@id="navbar"]/a[5]
|
|
${EXPLORE_PAGE_URL} https://git.dotya.ml/explore/repos
|
|
|
|
${ADD_SOMETHING_BUTTON} //*[@id="navbar"]/div[2]/div[1]
|
|
${NEW_MIGRATION_BUTTON} //*[@id="menuitem_2"]
|
|
${MIGRATION_URL_INPUT} //*[@id="clone_addr"]
|
|
${MIGRATION_REPO_VISIBILITY_CHECKBOX} //body/div/div[2]/div/div/form/div/div[6]/div/input
|
|
${MIGRATION_REPO_IS_A_MIRROR_CHECKBOX} //body/div/div[2]/div/div/form/div/div[7]/div
|
|
${MIGRATION_REPO_DESCRIPTION_INPUT} //*[@id="description"]
|
|
${MIGRATE_REPO_BUTTON} //button[contains(., "Migrate Repository")]
|
|
|
|
${BLAKE3_CLONE_URL} https://github.com/BLAKE3-team/BLAKE3
|
|
${BLAKE3_ABOUT_TEXT} official implementations of the BLAKE3 cryptographic hash function
|
|
${BLAKE3_REPO_LANGUAGE_STATS} //body/div/div[2]/div[2]/div[4]/a
|
|
${BLAKE3_REPO_URL} https://git.dotya.ml/dat_test_usr/BLAKE3
|
|
|
|
*** Keywords ***
|
|
Screenshot page
|
|
Capture Page Screenshot
|
|
|
|
Input Username
|
|
[Arguments] ${USERNAME_FIELD} ${USERNAME}
|
|
Input Text ${USERNAME_FIELD} ${USERNAME}
|
|
|
|
Input Password
|
|
[Arguments] ${PASSWD_FIELD} ${PASSWORD}
|
|
Input Text ${PASSWD_FIELD} ${PASSWORD}
|
|
|
|
Login page title
|
|
Title Should Be Sign In - dotya.ml Gitea Service
|
|
|
|
Login success
|
|
Title Should Be dat_test_usr - Dashboard - dotya.ml Gitea Service
|
|
|
|
Dashboard page address
|
|
Location Should Be https://git.dotya.ml/
|
|
|
|
Explore page
|
|
Location Should Be ${EXPLORE_PAGE_URL}
|
|
|
|
Input repo url
|
|
[Arguments] ${MIGRATION_URL_INPUT} ${MIGRATION_URL}
|
|
Input Text ${MIGRATION_URL_INPUT} ${MIGRATION_URL}
|
|
|
|
Input repo description
|
|
[Arguments] ${MIGRATION_REPO_DESCRIPTION_INPUT} ${REPO_DESCRIPTION}
|
|
Input Text ${MIGRATION_REPO_DESCRIPTION_INPUT} ${REPO_DESCRIPTION}
|
|
|
|
BLAKE3 repo address
|
|
Location Should Be ${BLAKE3_REPO_URL}
|
|
|
|
|
|
*** Test Cases ***
|
|
create a mirror of a repository
|
|
${chrome_options} = Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver
|
|
Call Method ${chrome_options} add_argument headless
|
|
Call Method ${chrome_options} add_argument no-sandbox
|
|
Call Method ${chrome_options} add_argument disable-dev-shm-usage
|
|
${options}= Call Method ${chrome_options} to_capabilities
|
|
|
|
Open Browser ${URL} browser=${BROWSER} desired_capabilities=${options}
|
|
Set Selenium Speed ${DELAY}
|
|
|
|
Set Window Size 1920 1080
|
|
Maximize Browser Window
|
|
|
|
Wait Until Element Is Visible ${LOGIN_BUTTON} timeout=10.0
|
|
Click Element ${LOGIN_BUTTON}
|
|
Sleep ${DELAY}
|
|
Screenshot page
|
|
Log Location
|
|
Login page title
|
|
Input Username ${USERNAME_FIELD} dat_test_usr
|
|
Input Password ${PASSWD_FIELD} D@t_p@ssw000rd987.
|
|
Screenshot page
|
|
Press Keys None RETURN
|
|
Sleep ${DELAY}
|
|
Screenshot page
|
|
Log Location
|
|
Login success
|
|
Dashboard page address
|
|
|
|
Click Element ${ADD_SOMETHING_BUTTON}
|
|
Screenshot page
|
|
Click Element ${NEW_MIGRATION_BUTTON}
|
|
Screenshot page
|
|
Input repo url ${MIGRATION_URL_INPUT} ${BLAKE3_CLONE_URL}
|
|
Screenshot page
|
|
Unselect Checkbox ${MIGRATION_REPO_VISIBILITY_CHECKBOX}
|
|
Screenshot page
|
|
Click Element ${MIGRATION_REPO_IS_A_MIRROR_CHECKBOX}
|
|
Screenshot page
|
|
Input repo description ${MIGRATION_REPO_DESCRIPTION_INPUT} ${BLAKE3_ABOUT_TEXT}
|
|
Screenshot page
|
|
Click Element ${MIGRATE_REPO_BUTTON}
|
|
Screenshot page
|
|
Sleep 5
|
|
Wait Until Element Is Visible ${BLAKE3_REPO_LANGUAGE_STATS} timeout=15.0
|
|
Screenshot page
|
|
Log Location
|
|
BLAKE3 repo address
|
|
|
|
Post-conditions
|
|
Log Location
|
|
Close Browser
|