Selenium Webdriver 3.X源碼分析之移動觸摸動作touch_actions.py
- 2019 年 10 月 8 日
- 筆記
在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 類似的原理,這裡不一一說明了