Selenium3源碼之common package篇
Selenium3 Python3源碼分析系列以短文方式進行分享
閱讀源碼是掌握Selenium的最好方式
我的公眾號:開源優測
Selenium3源碼之common package篇
簡介
本文主要分析Selenium3源碼common package下各模塊和package的說明
common package作用是定義和實現了webdriver通用的基礎能力,主要包含以下:
鍵盤映射
DesiredCapabilities
webdriver基礎service和Proxy
html5支持
移動端基礎支持,例如各種動作、設備交互、定位方式等
web端基礎支持,例如各種動作、定位方式
動作鏈構建(action chains)
等等
組織
下面我們通過一張截圖來看下common package下模塊的組織方式:
說明:
紅色框:表示common package整體的源碼
藍色框:表示對移動特定支持的各種actions的定義和實現
綠色框:表示對html5支持的定義和實現
黃色框:表示對web和移動端通用支持的定義和實現
下面我們對個模塊基本能力進行說明
藍色框中模塊說明
action_builder.py
實現了移動端動作的構建能力
input_device.py
描述用於可操作的輸入設備
interaction.py
定義了交互f封裝
key_actions.py
定義和實現移動端鍵盤動作行為
key_input.py
定義和實現移動端鍵盤動作的創建等能力
mouse_button.py
定義了滑鼠按鍵的標識
pointer_actions.py
定義和實現屏幕點擊等動作
pointer_input.py
定義和實現屏幕點擊等基礎能力
綠色框中模塊說明
application_cache.py
定義了html5 cache能力的支持
黃色框中模塊說明
action_chains.py
提供了系列底層的自動化交互的方法,主要包括:滑鼠移動、滑鼠按鍵動作、按鍵和上下文菜單交互、滑鼠拖曳等等
alert.py
定義和實現了alert彈出的處理方法
by.py
定義了常用的定位方式,例如id、name、xpath等
desired_capabilities.py
定義和實現了不同瀏覽器的DesiredCapabilities,例如ie、firefox、edge、chrome等等
keys.py
定義了各鍵盤各功能鍵的code,例如F1、F2、shift等等這類的按鍵的code
proxy.py
定義和實現了代理,主要有http代理、ftp代理、ssl代理、sock代理等等
service.py
定義和實現連接、關閉等基礎服務
touch_actions.py
定義和實現移動設備的一些基本操作,例如點擊、雙擊、按住等等
utils.py
實現了一些輔助性質的能力
總結
common中主要定義和實現了通用的功能,是需要大家了解的,因為這些通用能力是可以大大提升你在自動化測試過程中的調試能力的。
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
※markdown寫文檔基礎
※HTTP協議報文結構及抓包報文分析示例
TAG:開源優測 |