appium自動化之手勢操作總結(附帶手勢解鎖)


說說常用appium做自動化經常會用到的手勢操作。聲明:所有的手勢操作都會用到這個模塊   from appium.webdriver.common.touch_action import TouchAction

操作時都得傳入driver對象,執行時都用上.perfrom()才能生效,使用move_to根據坐標移動手勢,記得打開開發者模式里面的指針位置

1:輕敲   tap,類似於click點擊

使用方法:可以傳元素或者是坐標

# todo 傳元素點擊輕敲

TouchAction(driver).tap(more_button).perform()

todo 傳坐標點擊

TouchAction(driver).tap(x=680,y=1045).perform()

 

2:按壓   press   

使用方法:可以傳元素或者是坐標

el = driver.find_element_by_xpath('//*[@text="開放源代碼許可"]')

# todo 按壓5秒后釋放

TouchAction(driver).press(el).wait(5000).release().perform()

 

3:長按   long_press

使用方法:可以傳元素或者是坐標

# todo 長按6秒

el = driver.find_element_by_xpath('//*[@text="WiredSSID"]')

TouchAction(driver).long_press(el=el,duration=6000).perform()

 

4:等待   wait

使用方法:參考上面,傳等待時間

 

5:release   釋放

使用方法:參考上面,按壓完成后就釋放手指

 

6:perfrom   執行

使用方法:參考上面,任何手勢操作都得用它才能執行

 

7:move_to   移動

使用方法:可以傳元素或者是坐標,坐標根據x,y軸的位置移動,具體參考下面手勢解鎖demo

# todo 實現滑動解鎖的功能
from appium import webdriver
import time
from appium.webdriver.common.touch_action import TouchAction

desired_caps = {
    "platformName":"Android",
    "platformVersion":"5.1",
    "deviceName":"127.0.0.1:62001",
    "appPackage":"com.android.settings",
    "appActivity":".ChooseLockPattern"
               }

# 聲明driver對象
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

# todo 執行手勢
# todo 根據坐標移動手勢,記得打開指針位置
# todo 一邊按壓,一邊移動距離
TouchAction(driver).press(x=172,y=622).move_to(x=538,y=620).\
    move_to(x=905,y=625).move_to(x=537,y=976).move_to(x=176,y=1343).\
    move_to(x=537,y=1340).move_to(x=902,y=1343).perform()

time.sleep(1)
driver.quit()

move_to用法圖片:

 

輕敲用法圖片:

長按用法圖片:

 

打開指針位置方便根據坐標定位:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM