day15-Appium高级手势操作
Appium高級手勢操作
滑動操作
scroll事件
概念
從一個元素滑動到另外一個元素,直到頁面自動停止,模擬人滑動一下的操作。必須要求兩個元素都在界面上可見,否則會報錯。
-
orgin_el:滑動開始的元素
-
destination_el:滑動結束的元素
-
duration:滑動持續的時間,默認是600ms,時間越大滑動越慢
driver.scroll(orgin_el, destination_el, duration=600)
driver = webdriver.Remote('http://localhost:4723/wd/hub', settings_dict) ? end = driver.find_element('xpath', '//*[@text="藍牙"]') start = driver.find_element('xpath', '//*[@text="電池"]') ? driver.scroll(start, end, duration=5000)從電池元素那里開始滑動到藍牙位置結束
scroll滑動的準確性不高
drag_and_drop事件
概念
從一個元素滑動到另一個元素,第二個元素替代第一個元素在原本屏幕上的位置。也是兩個元素必須在界面上可見,否則報錯。
-
orgin'_el:滑動開始的元素
-
destination_el:滑動結束的元素
driver.drag_and_drop(orgin_el, destination_el)
drag_and_drop不能設置持續時間,但滑動效果比scroll更加精確,幾乎沒有慣性。
基于位置坐標的滑動
概念
從一個坐標點滑動到界面的另一個坐標點,通常用于開屏動畫滑動、多圖片連續滑動等。
driver.swipe(x1, y1, x2, y2, duration)
-
x1, y1:第一個點的x和y坐標
-
x2, y2:第二個點的x和y坐標
-
duration:持續時間,事件越長,滑動的越慢
TouchAction
輕敲手勢
長按手勢
手指移動操作
TouchAction可以實現針對手勢的操作,比如滑動、長按、拖動等,我們可以將這些基本手勢組合成一個相對復雜的手勢,比如解鎖手機或者一些應用軟件都有手勢解鎖的功能。
使用步驟:
創建TouchAction對象
通過對象調用想執行的手勢
通過perform方法執行動作(所有手勢必須通過perform方法來觸發)
輕敲手勢
ta = TouchAction(driver) ta.tap(x=121, y=340).perform()可以使用坐標點擊元素,也可以使用find_element獲取到元素傳入
長按手勢
按住press/長按long_press操作
-
el:要長按的元素
-
x:長按的x坐標
-
y:長按的y坐標(坐標和元素對象兩種方式二選一)
-
duration:長按時間
TouchAction(driver).long_press(el=None, x=None, y=None, duration=1000).perform()
driver = webdriver.Remote('http://localhost:4723/wd/hub', settings_dict)ta = TouchAction(driver) ta.press(x=89, y=337).perform() ta.move_to(x=268, y=337).perform() ta.move_to(x=443, y=337).perform() ta.move_to(x=268, y=520).perform() ta.move_to(x=89, y=701).release().perform() ? ? # release松開手?
總結
以上是生活随笔為你收集整理的day15-Appium高级手势操作的全部內容,希望文章能夠幫你解決所遇到的問題。