Selenium Webdriver 3.X源碼分析之移動觸摸動作touch_actions.py

  • 2019 年 10 月 8 日
  • 筆記

> Selenium Webdriver 3.X源碼分析系列第10篇,該系列原則上會將整個源碼分享一遍

在selenium webdriver Python代碼提供了完整的移動設備端觸摸能力的支持,其代碼定義實現在如下路徑:

這就意味着我們可以基於selenium webdriver像做web自動化測試一樣寫Python腳本驅動設備端進行自動化測試,下面我們看一個基本的代碼實例:

其他幾行代碼同常規做web自動化測試一樣,主要是:

第一:7-10行要初始化一個設備信息。

第二:17行要注意的是構建一個TouchActions對象。

下面我們看下在touch_actions.py中的TouchActions類提供了哪些設備觸摸動作API出來,如下圖所示:

對上述API功能進行簡要說明如下:

  • double_tap(on_element) #雙擊
  • flick(xspeed, yspeed) # 在任意位置開始以指定的速度移動
  • flick_element(on_element, xoffset, yoffset, speed) #從元素開始以指定的速度移動
  • long_press(on_element)   #長按不釋放
  • move(xcoord, ycoord)   #移動到指定的位置
  • perform()   #執行鏈中的所有動作
  • release(xcoord, ycoord)   #在某個位置鬆開操作
  • scroll(xoffset, yoffset) #滾動到某個位置
  • scroll_from_element(on_element, xoffset, yoffset) #從某元素開始滾動到某個位置
  • tap(on_element) #單擊
  • tap_and_hold(xcoord, ycoord) #某點按住

下面我們看一下構建一個TouchActions對象,其初始化源碼,即__init__源碼,如下:

需要傳入一個webdriver對象,用於構建一個TouchActions對象,其他方法與前面 Selenium Webdriver 3.X源碼分析之ActionChains 類似的原理,這裡不一一說明了