App UI自動化之swipe滑動屏幕


屏幕頁面滑動在APP自動化測試中屬於一個比較常見也比較特殊的操作。

 

通過查看swipe()方法的源碼可以知道它一共有5個參數,分別為:

  • start_x:起點橫坐標
  • start_y:起點縱坐標
  • end_x:終點橫坐標
  • end_y:終點縱坐標
  • duration:滑動時間,單位毫秒

並且可以發現,它的本質其實是一個鏈式調用,從起點位置滑到終點位置,滑動時間為duration。

既然我們要使用,那肯定要給它傳遞坐標的參數, 那么起點坐標和終點坐標的位置怎么獲得呢?

我們可以通過屏幕尺寸計算得到合適的坐標位置,

先獲取屏幕的寬和高:

width = driver.get_window_size()['width'] #
height = driver.get_window_size()['height'] #

然后設計一個比較合適的起點和終點坐標,假設從屏幕一半高度的位置,距離屏幕右側1/8處滑到距離屏幕左側1/8處,滑動的整個過程耗時0.5秒,接下來計算出坐標:

start_x = width * 7 / 8
start_y = width / 2
end_x = width / 8
end_y = width / 2
duration = 500

最后就可以調用swipe()方法滑動屏幕了:

在做這一步之前,需要明白的是,屏幕滑動操作並不針對於某一個具體的元素,而是通過驅動調用的,所以代碼如下:

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

 


免責聲明!

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



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