最近研究Selenium + Python,總結一些小tip發出來,以此自勉。
1. 概述
1.1 Selenium
1.1.1 Selenium(1.x)
通常指selenium Remote Control。
1.1.2 Selenium WebDriver
Selenium2 = Selenium 1 + WebDriver。是針對 Web 應用的測試框架,支持多種瀏覽器和多種編程語言,不支持並行。Selenium 2.0 通常指webdriver,它的好處是可以模擬部分用戶輸入,比如鼠標操作,鍵入文字。WebDriver屬於Selenium體系中操作瀏覽器的一套API,從Python角度說,WebDriver是Python的一個用於實現Web自動化的第三方庫。
1.1.3 Selenium IDE
可以錄制和編輯操作,可滿足小型且相對簡單的自動化測試工作,它可以幫助我們編寫自動化測試腳本。
1.1.4 Selenium Standalone Server
支持remote WebDriver,包含Selenium Grid,需要JRE環境。Selenium Grid 允許用戶將測試案例分布在幾台機器上並行執行。用戶可以在一個集中控制點控制不同的環境。在不同的瀏覽器 / 系統組合上面更為容易的運行測試案例。允許用戶更多的利用虛擬資源減少了維護測試環境的成本。Selenium Grid2 很好的支持了 WebDriver。利用原有的 WebDriver 腳本和 Grid 技術就可以將不同的測試用例分布在不同的機器或虛機上,在特定的瀏覽器版本上運行,自動地啟動關閉分析工具,統一地保存測試結果。
2. Selenium + Python測試環境搭建
2.1 安裝FireFox
- Selenium 3.0 + FireFox啟動報錯
FF 47以上版本,需要下載第三方driver,即geckodriver:
https://github.com/mozilla/geckodriver/releases
- 下載解壓后將getckodriver.exe復制到Firefox的安裝目錄下,如C:\Program Files\Mozilla Firefox,並在環境變量Path中添加路徑:
C:\Program Files\Mozilla Firefox;
- 重啟cmd或IDLE再次運行代碼即可
2.2 安裝Python
2.3 安裝setuptools 與pip
https://pypi.Python.org/pypi/setuptools
https://pypi.Python.org/pypi/pip
- 使用ez_setup.py或下載安裝setuptools:
ez_setup.py不需要用戶下載,運行該命令即可。
下載setuptools-32.1.2.zip,解壓。
<install package path> python setup.py install
- 可能需要配置環境變量:
修改我的電腦->屬性->高級->環境變量->系統變量中的PATH 為:
變量名:PATH
變量值:;D:\Python35
- 最新的python集成了pip,在<Python Path\Script\>。若沒有則下載pip-9.0.1.tar.gz
解壓后進入cmd:
<install package path> python setup.py install
2.4 安裝Selenium
https://pypi.python.org/pypi/selenium
- 聯網狀態直接在<D:\Python35\Scripts>下輸入:
<D:\Python35\Scripts > pip install -U selenium - 如果沒聯網,下載最新版的selenium,並解壓把整個目錄放到<D:\Python35\Lib\site-packages>。
2.5 ActivePython(Not Necessary)
編程調試工具。
https://www.activestate.com/activePython/downloads
2.6 安裝瀏覽器驅動
對瀏覽器的支持。支持FireFox(無需驅動),IE, Chrome,Opera等瀏覽器, 還支持Android和iPhone的移動應用測試。
https://www.seleniumhq.org/download(Third Party Drivers, Bindings, and Plugins)
下載后解壓放置到D:\Python35下
安裝完成后可以用:
webdriver.FireFox()
webdriver.Ie()
webdriver.Chrome()
3. Selenium IDE
3.1 安裝
https://www.seleniumhq.org/download
或者打開FireFox瀏覽器,工具->Add-on,搜索“Selenium IDE”
FireFox 瀏覽器可在安裝后用Ctrl+Alt+S打開
3.2 Firebug工具(Not Necessary)
FireFox->工具->附加組件,搜索該工具安裝,用於在瀏覽器上定位元素。
4. Selenium Standalone Server
Selenium Grid可以再不同主機上建立主節點和分支節點(hub and node),即分布式運行。可搭建不同的測試環境(OS,browser),從而使一份測試用例得到不同環境下的執行結果。已經集成在Selenium Standalone Server中,運行WebDriver Remote 需要Selenium Standalone Server。
https://www.seleniumhq.org/download
4.1 配置Java環境安裝Selenium Standalone Server
- 安裝JRE/JDK
- 安裝Selenium Standalone server
http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.0.jar
cmd:
java -jar selenium-server-standalone-2.53.0.jar