Demo with Appium Robot framework - up1/course-appium-robotframework GitHub Wiki

Code example

  • Android app
  • ScrollView + Swipe
*** Settings ***
Library           AppiumLibrary
Suite Teardown    Close Application

*** Variables ***
${REMOTE_URL}   http://127.0.0.1:4723/wd/hub
${platformName}    Android
${appium:app}    path of APK file
${appium:deviceName}    id/name
${appium:automationName}    UiAutomator2
${appium:ensureWebviewsHavePages}    true
${appium:nativeWebScreenshot}    true
${appium:newCommandTimeout}    3600
${appium:connectHardwareKeyboard}    true

*** Test Cases ***
Sign in success
        Open Application    ${REMOTE_URL}   platformName=${platformName}  appium:app=${appium:app}  appium:deviceName=${appium:deviceName}  appium:automationName=${appium:automationName}  appium:ensureWebviewsHavePages=${appium:ensureWebviewsHavePages}  appium:nativeWebScreenshot=${appium:nativeWebScreenshot}  appium:newCommandTimeout=${appium:newCommandTimeout}  appium:connectHardwareKeyboard=${appium:connectHardwareKeyboard}
        ตรวจสอบหน้าแรก
        ไปยังหน้า Sign in
        ทำการ Sign in without E-mail


*** Keywords ***
ทำการ Sign in without E-mail
    Wait Until Page Contains Element  xpath=//android.widget.HorizontalScrollView/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup/android.view.ViewGroup[1]/android.widget.TextView
    Element Text Should Be  xpath=//android.widget.HorizontalScrollView/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup/android.view.ViewGroup[1]/android.widget.TextView
    ...  Sign in
    Click Element  xpath=//android.widget.HorizontalScrollView/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup/android.view.ViewGroup[1]
    Wait Until Page Contains   Sign in without E-mail
    Click Element   xpath=//android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]
    
    Wait Until Page Contains Element   xpath=//android.view.ViewGroup[1]/android.widget.EditText 
    Input Text    xpath=//android.view.ViewGroup[1]/android.widget.EditText    
    ...    your_email
    Input Text    xpath=//android.view.ViewGroup[2]/android.widget.EditText    
    ...    your_password
    Click Element    xpath=//android.view.ViewGroup/android.view.ViewGroup[3]

    Wait Until Page Contains Element   id=com.android.permissioncontroller:id/permission_deny_button
    Click Element    id=com.android.permissioncontroller:id/permission_deny_button

    Wait Until Page Contains   Sp Pui

ไปยังหน้า Sign in
    &{LOCATION}=    Get Element Location    xpath=//android.widget.HorizontalScrollView/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup
    &{SCREEN_SIZE}=    Get Element Size    xpath=//android.widget.HorizontalScrollView/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup
    ${start_x}=    Evaluate  ${SCREEN_SIZE.width} / ${1.5} + ${LOCATION.x}
    ${start_y}=    Evaluate  ${SCREEN_SIZE.height} / ${1.5} + ${LOCATION.y}
    ${offset_x}=    Evaluate  ${SCREEN_SIZE.width} / ${1.5}
    Swipe    ${start_x}    ${start_y}    ${0}    ${start_y}
    Swipe    ${start_x}    ${start_y}    ${0}    ${start_y}
    Swipe    ${start_x}    ${start_y}    ${0}    ${start_y}


ตรวจสอบหน้าแรก
    Wait Until Page Contains Element  xpath=//android.view.ViewGroup/android.view.ViewGroup/android.widget.TextView[1]
    Element Text Should Be  xpath=//android.view.ViewGroup/android.view.ViewGroup/android.widget.TextView[1]  
    ...  Kubota
    Element Text Should Be  xpath=//android.view.ViewGroup/android.view.ViewGroup/android.widget.TextView[2]  
    ...  Comprehensive Smart Drone