APP——自動化——python——swipe從坐標點滑動到坐標點以及其它滑動


1.swipe從坐標點滑動到坐標點


5個參數(起始橫坐標,起始縱坐標,結束橫坐標,結束縱坐標,滑動時長單位毫秒)


driver.swipe(start_x,start_y,end_x,end_y,duration=None)

 

注意:
           每次操作的期望時間與真實時間有誤差,造成了每次的滑動距離不等。
           滑動操作具有慣性,速度快,慣性大;速度慢慣性小。可能導致每次滑動的距離不等
           滑動時長越大,慣性越小,滑動距離越准確

===============================================================================

用5秒的時間,向下滑動900個像素點,代碼:

# 計算器:     C:\Users\del>adb shell dumpsys window w |findstr \/ |findstr name=
#              mSurface=Surface(name=com.youba.calculate/com.youba.calculate.MainActivity)            #adb命令查看包名和啟動activity

#com.youba.calculate:id/btn_plus  +
#com.youba.calculate:id/btn_equal  =


#鳳凰網:   C:\Users\del>adb shell dumpsys window w |findstr \/ |findstr name=
#           mSurface=Surface(name=com.ifeng.news2/com.ifeng.news2.activity.IfengTabMainActivity)

from appium import webdriver
import  time

desired_caps = {
    'platformName': 'Android',             #待測試手機的系統
    'deviceName':'8DF6R17503000072',     #使用手機或模擬器的類型
    'platformVersion': '8.0.0',                         #待測手機系統版本
     "unicodeKeyboard":"true",   #支持中文輸入,會自動安裝unicode輸入法,默認是false
     "resetKeyboard":"true",    #如果設置了中文輸入為true,此設置為自動化退出后,重置輸入法到原來狀態
    #'app': 'C:\\Users\\del\\Desktop\\b\\jsq.apk',         #手機未按照待測app時,設置安裝路徑、包名、啟動activity
    'appPackage': 'com.youba.calculate',
    'appActivity': 'com.youba.calculate.MainActivity',
}


driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)


time.sleep(15)

driver.close_app()

time.sleep(15)

driver.start_activity('com.baidu.searchbox','com.baidu.searchbox.MainActivity')

time.sleep(15)

driver.swipe(100,1000,100,100,5000)                #用5秒的時間,向下滑動900個像素點


time.sleep(3)                  #等待3秒

driver.quit()

 

 

 

 

參考文章:https://blog.csdn.net/E_I_F/article/details/105376301

 

2.scroll從元素位置滑動到元素位置(有慣性)

 

#從一個元素滑動到另一個元素,有慣性
#2個參數(起始元素,終止元素)
driver.scroll(origin_el,des_el)

從藍牙滑動到無線網絡,代碼:

#導入庫
from appium import webdriver
import time

desired_caps = dict()#創建字典
desired_caps['platformName'] = 'Android'#添加字典字段:手機平台(Android、iOS)
desired_caps['platformVersion'] = '5.1'#添加字典字段:系統版本號(可從手機的設置里面查看)
desired_caps['deviceName'] = 'myphone'#添加字典字段:設備名稱(隨便寫即可)
desired_caps['appPackage'] = 'com.android.settings'#添加字典字段:要打開的app包名
desired_caps['appActivity'] = 'com.android.settings.Settings'#添加字典字段:APP的界面名
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True
driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)#調用方法,其中'http://localhost:4723/wd/hub'即為appium服務器地址
driver.find_element_by_id("android:id/button1").click()#根據id定位元素,彈出應用的授權框,點擊“確認”

bluetooth=driver.find_element_by_xpath("//*[@text='藍牙']")
wifi=driver.find_element_by_xpath("//*[@text='無線網絡']")

driver.scroll(bluetooth,wifi)#從藍牙滑動到無線網絡
time.sleep(3)#等待3秒

driver.quit()#退出此次驅動連接

 

 

 

 

3.drag_and_drop從元素位置滑動到元素位置(無慣性)

 

從一個元素滑動到另一個元素,沒有慣性
2個參數(起始元素,終止元素)
driver.drag_and_drop(origin_el,des_el)

 

 

 

 

 


從藍牙滑動到無線網絡,代碼:

#導入庫
from appium import webdriver
import time

desired_caps = dict()#創建字典
desired_caps['platformName'] = 'Android'#添加字典字段:手機平台(Android、iOS)
desired_caps['platformVersion'] = '5.1'#添加字典字段:系統版本號(可從手機的設置里面查看)
desired_caps['deviceName'] = 'myphone'#添加字典字段:設備名稱(隨便寫即可)
desired_caps['appPackage'] = 'com.android.settings'#添加字典字段:要打開的app包名
desired_caps['appActivity'] = 'com.android.settings.Settings'#添加字典字段:APP的界面名
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True
driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)#調用方法,其中'http://localhost:4723/wd/hub'即為appium服務器地址
driver.find_element_by_id("android:id/button1").click()#根據id定位元素,彈出應用的授權框,點擊“確認”

bluetooth=driver.find_element_by_xpath("//*[@text='藍牙']")
wifi=driver.find_element_by_xpath("//*[@text='無線網絡']")

driver.drag_and_drop(bluetooth,wifi)#從藍牙滑動到無線網絡
time.sleep(3)#等待3秒

driver.quit()#退出此次驅動連接
1


免責聲明!

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



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