*** 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