From 5536969e4084b088ad16b936cebd6e114c6f6d2d Mon Sep 17 00:00:00 2001 From: surtur Date: Sat, 11 Jul 2020 11:32:23 +0200 Subject: [PATCH] refactor: mv test29 test00 + updated .drone.yml and docs * also refactored silly.windows.bat.trololol.bat --- .drone.yml | 50 +++------------ docs | 45 +++++++++---- m-test00.robot | 85 +++++++++++++++++++++++- m-test29.robot | 114 --------------------------------- silly.windows.bat.trololol.bat | 15 +++-- test00.robot | 93 +++++++++++++++++++++++++-- test29.robot | 108 ------------------------------- 7 files changed, 221 insertions(+), 289 deletions(-) delete mode 100644 m-test29.robot delete mode 100644 test29.robot diff --git a/.drone.yml b/.drone.yml index 86e879f..351aa98 100644 --- a/.drone.yml +++ b/.drone.yml @@ -21,22 +21,6 @@ steps: - mkdir -pv archives - mkdir -pv results/${DRONE_STAGE_NAME} -- name: test00 - pull: if-not-exists - image: immawanderer/alpine-rf:latest - volumes: - - name: shm - path: /dev/shm - commands: - - mkdir -pv results/${DRONE_STAGE_NAME}/test00 - - robot -T -d results/${DRONE_STAGE_NAME}/test00 test00.robot - when: - status: - - success - - failure - depends_on: - - reveal-env - - name: test01 pull: if-not-exists image: immawanderer/alpine-rf:latest @@ -352,15 +336,15 @@ steps: - test09 - test18 -- name: test29 +- name: test00 pull: if-not-exists image: immawanderer/alpine-rf:latest volumes: - name: shm path: /dev/shm commands: - - mkdir -pv results/${DRONE_STAGE_NAME}/test29 - - robot -T -d results/${DRONE_STAGE_NAME}/test29 test29.robot + - mkdir -pv results/${DRONE_STAGE_NAME}/test00 + - robot -T -d results/${DRONE_STAGE_NAME}/test00 test00.robot when: status: - success @@ -393,7 +377,6 @@ steps: - success - failure depends_on: - - test00 - test01 - test02 - test03 @@ -413,7 +396,7 @@ steps: - test17 - test18 - test19 - - test29 + - test00 volumes: - name: cache @@ -449,22 +432,6 @@ steps: - mkdir -pv archives - mkdir -pv results/${DRONE_STAGE_NAME} -- name: m-test00 - pull: if-not-exists - image: immawanderer/alpine-rf:latest - volumes: - - name: shm - path: /dev/shm - commands: - - mkdir -pv results/${DRONE_STAGE_NAME}/m-test00 - - robot -T -d results/${DRONE_STAGE_NAME}/m-test00 m-test00.robot - when: - status: - - success - - failure - depends_on: - - reveal-env - - name: m-test01 pull: if-not-exists image: immawanderer/alpine-rf:latest @@ -780,15 +747,15 @@ steps: - m-test09 - m-test18 -- name: m-test29 +- name: m-test00 pull: if-not-exists image: immawanderer/alpine-rf:latest volumes: - name: shm path: /dev/shm commands: - - mkdir -pv results/${DRONE_STAGE_NAME}/m-test29 - - robot -T -d results/${DRONE_STAGE_NAME}/m-test29 m-test29.robot + - mkdir -pv results/${DRONE_STAGE_NAME}/m-test00 + - robot -T -d results/${DRONE_STAGE_NAME}/m-test00 m-test00.robot when: status: - success @@ -822,7 +789,6 @@ steps: - success - failure depends_on: - - m-test00 - m-test01 - m-test02 - m-test03 @@ -842,7 +808,7 @@ steps: - m-test17 - m-test18 - m-test19 - - m-test29 + - m-test00 volumes: - name: cache diff --git a/docs b/docs index f161401..73d6c68 100644 --- a/docs +++ b/docs @@ -3,19 +3,6 @@ test set desktop - Testing a webpage with desktop browser test case - - id - 00 - - name - just a page GET - - opens the specified webpage - - expected result - webpage is successfully loaded (screenshot proof) - - steps: - see test{{tc_id}}.robot - - Post-conditions - - close browser - - execution - automatic (robotframework) - - execution time - variable, see test results - - author - ... - - date - see test results - - id - 01 - name - open page and maximize - opens the specified webpage and maximizes the browser window @@ -318,10 +305,25 @@ test set - author - ... - date - see test results + - id - 00 + - name - delete test user account + - robot user logs in, goes to account settings and deletes the account + - Pre-conditions + - user registered (test09) + - expected result - user account is deleted + - steps: + see test{{tc_id}}.robot + - Post-conditions + - close browser + - execution - automatic (robotframework) + - execution time - variable, see test results + - author - ... + - date - see test results + test set mobile - Testing a webpage with (emulated) mobile browser test case - - id - 00 + - id - 01 - name - open homepage (mobile) - opens the specified webpage - expected result - webpage is loaded @@ -606,6 +608,21 @@ test set - author - ... - date - see test results + - id - 00 + - name - delete test user account (mobile) + - robot user logs in, goes to account settings and deletes the account + - Pre-conditions + - user registered (test09) + - expected result - user account is deleted + - steps: + see test{{tc_id}}.robot + - Post-conditions + - close browser + - execution - automatic (robotframework) + - execution time - variable, see test results + - author - ... + - date - see test results + test set manual - id - 00 diff --git a/m-test00.robot b/m-test00.robot index 89bc064..046c6f2 100644 --- a/m-test00.robot +++ b/m-test00.robot @@ -6,12 +6,57 @@ ${URL} https://git.dotya.ml/ ${BROWSER} chrome ${DELAY} 0.2 +${BURGER_MENU} //*[@id="navbar-expand-toggle"] +${LOGIN_BUTTON} //*[@id="navbar"]/div[2]/a[2] +${USERNAME_FIELD} //*[@id="user_name"] +${PASSWD_FIELD} //*[@id="password"] +${USER_MENU_BUTTON} //*[@id="navbar"]/div[2]/div[2] +${USER_SETTING_BUTTON} //*[@id="menuitem_6"] +${USER_SETTINGS-ACCOUNT} //body/div[2]/div[2]/div[1]/a[2] +${DELETE_ACCOUNT_BUTTON} //body/div[2]/div[2]/div[2]/div[5]/form/div[2]/div +${CONFIRM_PASSWD_FIELD} //*[@id="password-confirmation"] +${CONFIRM_ACCOUNT_DELETION} //*[@id="delete-account"]/div[3]/div[2] + *** Keywords *** Screenshot page Capture Page Screenshot +Input Username + [Arguments] ${USERNAME_FIELD} ${USERNAME} + Input Text ${USERNAME_FIELD} ${USERNAME} + +Input Email + [Arguments] ${EMAIL_FIELD} ${EMAIL} + Input Text ${EMAIL_FIELD} ${EMAIL} + +Input Password + [Arguments] ${PASSWD_FIELD} ${PASSWORD} + Input Text ${PASSWD_FIELD} ${PASSWORD} + +Input Password_confirmation + [Arguments] ${CONFIRM_PASSWD_FIELD} ${PASSWORD} + Input Text ${CONFIRM_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/ + +Settings page address + Location Should Be https://git.dotya.ml/user/settings + +Settings account page address + Location Should Be https://git.dotya.ml/user/settings/account + +Homepage address + Location Should Be https://git.dotya.ml/ + *** Test Cases *** -open homepage (mobile) +delete test user account (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} @@ -24,6 +69,44 @@ open homepage (mobile) Open Browser ${URL} browser=${BROWSER} desired_capabilities=${options} Set Selenium Speed ${DELAY} + # Screenshot page + Log Location + + Click Element ${BURGER_MENU} + Screenshot page + Click Element ${LOGIN_BUTTON} + + Login page title + Input Username ${USERNAME_FIELD} dat_test_usr + # Input Email ${EMAIL_FIELD} dat_test_usr@noreply.com + Input Password ${PASSWD_FIELD} D@t_p@ssw000rd987. + Screenshot page + Log Location + Press Keys None RETURN + + Login success + Dashboard page address + Screenshot page + Log Location + + Click Element ${BURGER_MENU} + Screenshot page + Click Element ${USER_MENU_BUTTON} + Click Element ${USER_SETTING_BUTTON} + Screenshot page + Log Location + Settings page address + Click Element ${USER_SETTINGS-ACCOUNT} + Settings account page address + Screenshot page + Log Location + Scroll Element Into View ${DELETE_ACCOUNT_BUTTON} + Input Password ${CONFIRM_PASSWD_FIELD} D@t_p@ssw000rd987. + Screenshot page + Click Element ${DELETE_ACCOUNT_BUTTON} + Screenshot page + Click Element ${CONFIRM_ACCOUNT_DELETION} + Homepage address Screenshot page Log Location diff --git a/m-test29.robot b/m-test29.robot deleted file mode 100644 index 046c6f2..0000000 --- a/m-test29.robot +++ /dev/null @@ -1,114 +0,0 @@ -*** Settings *** -Library SeleniumLibrary run_on_failure=Nothing - -*** Variables *** -${URL} https://git.dotya.ml/ -${BROWSER} chrome -${DELAY} 0.2 - -${BURGER_MENU} //*[@id="navbar-expand-toggle"] -${LOGIN_BUTTON} //*[@id="navbar"]/div[2]/a[2] -${USERNAME_FIELD} //*[@id="user_name"] -${PASSWD_FIELD} //*[@id="password"] -${USER_MENU_BUTTON} //*[@id="navbar"]/div[2]/div[2] -${USER_SETTING_BUTTON} //*[@id="menuitem_6"] -${USER_SETTINGS-ACCOUNT} //body/div[2]/div[2]/div[1]/a[2] -${DELETE_ACCOUNT_BUTTON} //body/div[2]/div[2]/div[2]/div[5]/form/div[2]/div -${CONFIRM_PASSWD_FIELD} //*[@id="password-confirmation"] -${CONFIRM_ACCOUNT_DELETION} //*[@id="delete-account"]/div[3]/div[2] - -*** Keywords *** -Screenshot page - Capture Page Screenshot - -Input Username - [Arguments] ${USERNAME_FIELD} ${USERNAME} - Input Text ${USERNAME_FIELD} ${USERNAME} - -Input Email - [Arguments] ${EMAIL_FIELD} ${EMAIL} - Input Text ${EMAIL_FIELD} ${EMAIL} - -Input Password - [Arguments] ${PASSWD_FIELD} ${PASSWORD} - Input Text ${PASSWD_FIELD} ${PASSWORD} - -Input Password_confirmation - [Arguments] ${CONFIRM_PASSWD_FIELD} ${PASSWORD} - Input Text ${CONFIRM_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/ - -Settings page address - Location Should Be https://git.dotya.ml/user/settings - -Settings account page address - Location Should Be https://git.dotya.ml/user/settings/account - -Homepage address - Location Should Be https://git.dotya.ml/ - -*** Test Cases *** -delete test user account (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} - Screenshot page - Click Element ${LOGIN_BUTTON} - - Login page title - Input Username ${USERNAME_FIELD} dat_test_usr - # Input Email ${EMAIL_FIELD} dat_test_usr@noreply.com - Input Password ${PASSWD_FIELD} D@t_p@ssw000rd987. - Screenshot page - Log Location - Press Keys None RETURN - - Login success - Dashboard page address - Screenshot page - Log Location - - Click Element ${BURGER_MENU} - Screenshot page - Click Element ${USER_MENU_BUTTON} - Click Element ${USER_SETTING_BUTTON} - Screenshot page - Log Location - Settings page address - Click Element ${USER_SETTINGS-ACCOUNT} - Settings account page address - Screenshot page - Log Location - Scroll Element Into View ${DELETE_ACCOUNT_BUTTON} - Input Password ${CONFIRM_PASSWD_FIELD} D@t_p@ssw000rd987. - Screenshot page - Click Element ${DELETE_ACCOUNT_BUTTON} - Screenshot page - Click Element ${CONFIRM_ACCOUNT_DELETION} - Homepage address - Screenshot page - Log Location - -Post-conditions - Close Browser diff --git a/silly.windows.bat.trololol.bat b/silly.windows.bat.trololol.bat index d3a7a4f..9bd5b43 100644 --- a/silly.windows.bat.trololol.bat +++ b/silly.windows.bat.trololol.bat @@ -1,14 +1,17 @@ REM test-set-desktop -FOR /L %%A IN (0,1,9) DO ( +FOR /L %%A IN (1,1,9) DO ( robot -o "TC_0%%A - Output" -r "TC_0%%A - Report" -l "TC_0%%A - Log" "test0%%A.robot" ) -FOR /L %%A IN (10,1,29) DO ( +FOR /L %%A IN (10,1,19) DO ( robot -o "TC_%%A - Output" -r "TC_%%A - Report" -l "TC_%%A - Log" "test%%A.robot" ) +robot -o "TC_00 - Output" -r "TC_00 - Report" -l "TC_00 - Log" "test00.robot" + REM test-set-mobile -FOR /L %%A IN (0,1,9) DO ( - robot -o "TC_0%%A - Output" -r "TC_0%%A - Report" -l "TC_0%%A - Log" "m-test0%%A.robot" +FOR /L %%A IN (1,1,9) DO ( + robot -o "TC_m_0%%A - Output" -r "TC_m_0%%A - Report" -l "TC_m_0%%A - Log" "m-test0%%A.robot" ) -FOR /L %%A IN (10,1,29) DO ( - robot -o "TC_%%A - Output" -r "TC_%%A - Report" -l "TC_%%A - Log" "m-test%%A.robot" +FOR /L %%A IN (10,1,19) DO ( + robot -o "TC_m_%%A - Output" -r "TC_m_%%A - Report" -l "TC_m_%%A - Log" "m-test%%A.robot" ) +robot -o "TC_m_00 - Output" -r "TC_m_00 - Report" -l "TC_m_00 - Log" "m-test00.robot" diff --git a/test00.robot b/test00.robot index b24dde2..56710e0 100644 --- a/test00.robot +++ b/test00.robot @@ -4,20 +4,105 @@ 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"] +${USER_MENU_BUTTON} //*[@id="navbar"]/div[2]/div[2] +${USER_SETTING_BUTTON} //*[@id="menuitem_6"] +${USER_SETTINGS-ACCOUNT} //body/div[2]/div[2]/div[1]/a[2] +${DELETE_ACCOUNT_BUTTON} //body/div[2]/div[2]/div[2]/div[5]/form/div[2]/div +${CONFIRM_PASSWD_FIELD} //*[@id="password-confirmation"] +${CONFIRM_ACCOUNT_DELETION} //*[@id="delete-account"]/div[3]/div[2] + +*** Keywords *** +Screenshot page + Capture Page Screenshot + +Input Username + [Arguments] ${USERNAME_FIELD} ${USERNAME} + Input Text ${USERNAME_FIELD} ${USERNAME} + +Input Email + [Arguments] ${EMAIL_FIELD} ${EMAIL} + Input Text ${EMAIL_FIELD} ${EMAIL} + +Input Password + [Arguments] ${PASSWD_FIELD} ${PASSWORD} + Input Text ${PASSWD_FIELD} ${PASSWORD} + +Input Password_confirmation + [Arguments] ${CONFIRM_PASSWD_FIELD} ${PASSWORD} + Input Text ${CONFIRM_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/ + +Settings page address + Location Should Be https://git.dotya.ml/user/settings + +Settings account page address + Location Should Be https://git.dotya.ml/user/settings/account + +Homepage address + Location Should Be https://git.dotya.ml/ *** Test Cases *** -just a page GET (+ screenshot) +delete test user account ${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 - Set Selenium Speed 0.2 Open Browser ${URL} browser=${BROWSER} desired_capabilities=${options} + Set Selenium Speed ${DELAY} + Set Window Size 1920 1080 + Maximize Browser Window - Capture Page Screenshot + Click Element ${LOGIN_BUTTON} + Sleep 0.2 + # Screenshot page + Log Location + Login page title + Input Username ${USERNAME_FIELD} dat_test_usr + # Input Email ${EMAIL_FIELD} dat_test_usr@noreply.com + Input Password ${PASSWD_FIELD} D@t_p@ssw000rd987. + # Screenshot page + Press Keys None RETURN + + Login success + Dashboard page address + Screenshot page + Log Location + + Click Element ${USER_MENU_BUTTON} + Screenshot page + Click Element ${USER_SETTING_BUTTON} + Settings page address + Screenshot page + Log Location + Click Element ${USER_SETTINGS-ACCOUNT} + Settings account page address + Screenshot page + Log Location + Scroll Element Into View ${DELETE_ACCOUNT_BUTTON} + Input Password ${CONFIRM_PASSWD_FIELD} D@t_p@ssw000rd987. + Screenshot page + Click Element ${DELETE_ACCOUNT_BUTTON} + Screenshot page + Click Element ${CONFIRM_ACCOUNT_DELETION} + Homepage address + Screenshot page + Log Location Post-conditions - Log Location Close Browser diff --git a/test29.robot b/test29.robot deleted file mode 100644 index 56710e0..0000000 --- a/test29.robot +++ /dev/null @@ -1,108 +0,0 @@ -*** 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"] -${USER_MENU_BUTTON} //*[@id="navbar"]/div[2]/div[2] -${USER_SETTING_BUTTON} //*[@id="menuitem_6"] -${USER_SETTINGS-ACCOUNT} //body/div[2]/div[2]/div[1]/a[2] -${DELETE_ACCOUNT_BUTTON} //body/div[2]/div[2]/div[2]/div[5]/form/div[2]/div -${CONFIRM_PASSWD_FIELD} //*[@id="password-confirmation"] -${CONFIRM_ACCOUNT_DELETION} //*[@id="delete-account"]/div[3]/div[2] - -*** Keywords *** -Screenshot page - Capture Page Screenshot - -Input Username - [Arguments] ${USERNAME_FIELD} ${USERNAME} - Input Text ${USERNAME_FIELD} ${USERNAME} - -Input Email - [Arguments] ${EMAIL_FIELD} ${EMAIL} - Input Text ${EMAIL_FIELD} ${EMAIL} - -Input Password - [Arguments] ${PASSWD_FIELD} ${PASSWORD} - Input Text ${PASSWD_FIELD} ${PASSWORD} - -Input Password_confirmation - [Arguments] ${CONFIRM_PASSWD_FIELD} ${PASSWORD} - Input Text ${CONFIRM_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/ - -Settings page address - Location Should Be https://git.dotya.ml/user/settings - -Settings account page address - Location Should Be https://git.dotya.ml/user/settings/account - -Homepage address - Location Should Be https://git.dotya.ml/ - -*** Test Cases *** -delete test user account - ${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 - - Click Element ${LOGIN_BUTTON} - Sleep 0.2 - # Screenshot page - Log Location - Login page title - Input Username ${USERNAME_FIELD} dat_test_usr - # Input Email ${EMAIL_FIELD} dat_test_usr@noreply.com - Input Password ${PASSWD_FIELD} D@t_p@ssw000rd987. - # Screenshot page - Press Keys None RETURN - - Login success - Dashboard page address - Screenshot page - Log Location - - Click Element ${USER_MENU_BUTTON} - Screenshot page - Click Element ${USER_SETTING_BUTTON} - Settings page address - Screenshot page - Log Location - Click Element ${USER_SETTINGS-ACCOUNT} - Settings account page address - Screenshot page - Log Location - Scroll Element Into View ${DELETE_ACCOUNT_BUTTON} - Input Password ${CONFIRM_PASSWD_FIELD} D@t_p@ssw000rd987. - Screenshot page - Click Element ${DELETE_ACCOUNT_BUTTON} - Screenshot page - Click Element ${CONFIRM_ACCOUNT_DELETION} - Homepage address - Screenshot page - Log Location - -Post-conditions - Close Browser