This repository has been archived on 2022-05-04. You can view files and clone it, but cannot push or open issues or pull requests.
tso-sw/m-test18.robot
surtur 93804c7389
Some checks failed
continuous-integration/drone/push Build is failing
refactor: due to Gitea updates (8b428454 follow-up)
2020-07-12 17:40:31 +02:00

130 lines
4.6 KiB
Plaintext

*** Settings ***
Library SeleniumLibrary run_on_failure=Nothing
*** Variables ***
${URL} https://git.dotya.ml/
${BROWSER} chrome
${DELAY} 0.2
${BURGER_MENU} //*[@id="navbar-expand-toggle"]
${BURGER_MENU_SIGN_IN} //*[@id="navbar"]/div[2]/a[2]
${USERNAME_FIELD} //*[@id="user_name"]
${PASSWD_FIELD} //*[@id="password"]
${SIGN_IN_BUTTON} //form/div[4]/button[1]
${BURGER_AFTER_LOGIN} //*[@id="navbar-expand-toggle"]
${BURGER_AFTER_LOGIN_EXPLORE} //*[@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
Sign In page
Location Should Be https://git.dotya.ml/user/login?redirect_to=%2f
Login page title
Title Should Be Sign In - dotya.ml Gitea Service
Input Username
[Arguments] ${USERNAME_FIELD} ${USERNAME}
Input Text ${USERNAME_FIELD} ${USERNAME}
Input Password
[Arguments] ${PASSWD_FIELD} ${PASSWORD}
Input Text ${PASSWD_FIELD} ${PASSWORD}
Login success
Title Should Be dat_test_usr - Dashboard - dotya.ml Gitea Service
Dashboard page address
Location Should Be https://git.dotya.ml/
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 (mobile)
# based on Pixel 2 XL mobile browser declared resolution
${devicemetrics}= Create Dictionary width=${411} height=${823} pixelRatio=${2.0} userAgent=Mozilla/5.0 (Linux; Mobile; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36
${mobileemulation}= Create Dictionary deviceMetrics=${devicemetrics}
${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
Call Method ${chrome options} add_experimental_option mobileEmulation ${mobileemulation}
${options}= Call Method ${chrome_options} to_capabilities
Open Browser ${URL} browser=${BROWSER} desired_capabilities=${options}
Set Selenium Speed ${DELAY}
Screenshot page
Log Location
Click Element ${BURGER_MENU}
Sleep ${DELAY}
Screenshot page
Click Element ${BURGER_MENU_SIGN_IN}
Screenshot page
Log Location
Sign In page
Login page title
Input Username ${USERNAME_FIELD} dat_test_usr
Input Password ${PASSWD_FIELD} D@t_p@ssw000rd987.
Screenshot page
Click Element ${SIGN_IN_BUTTON}
Screenshot page
Log Location
Login success
Dashboard page address
Click Element ${BURGER_AFTER_LOGIN}
Screenshot page
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
Scroll Element Into View ${MIGRATE_REPO_BUTTON}
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
Close Browser