一 selenium是什麼?python
引用百度百科的介紹selenium的一段話:git
「Selenium 是一個用於Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操做同樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。這個工具的主要功能包括:測試與瀏覽器的兼容性——測試你的應用程序看是否可以很好得工做在不一樣瀏覽器和操做系統之上。測試系統功能——建立迴歸測試檢驗軟件功能和用戶需求。支持自動錄製動做和自動生成 .Net、Java、Perl等不一樣語言的測試腳本」github
使人吃驚的是,最後一句支持的語言里居然沒有提到Python,哈哈哈。web
總之,selenium是用於web自動化測試的工具集,經過驅動瀏覽器代替人工完成兼容性測試或功能迴歸測試,支持多瀏覽器及多語言開發。chrome
二 selenium和webdriver啥關係?設計模式
WebDriver 和 Selenium 本來是實現web自動化方面的兩個獨立項目。從Selenium 2 將二者合併,二者關係能夠用Selenium 1.0 + WebDriver = Selenium 2.0表示。目前在測試領域,一般所說的selenium實際就是webdriver,而Selenium 1一般指的是Selenium RC。api
與1.0相比,webdriver的API被設計的更加簡潔、簡單,驅動瀏覽器更加高效,同時解決了1.0中比較難處理的一些應用場景,如文件上傳、下載,彈出框處理等。瀏覽器
三 WebDriver的工做原理ide
講了selenium和webdriver的關係後,咱們學習selenium,實際主要是學習webdriver的api使用方法。可是,在此以前,有必要先了解一下webdriver的工做原理。從網上找了一張圖,介紹原理,以下:工具
WebDriver的工做原理,簡述以下:
1. webdriver是按照client - server的經典設計模式設計的;
2. server端就是remote server,腳本啓動的瀏覽器,它的職責就是等待client發送請求並作出相應;
3. client端就是咱們的測試代碼,操做命令以http請求的方式發送給被server端,server接受請求,執行相應操做,並在response中返回執行狀態、返回值等信息;
四 selenium環境安裝
前面介紹了那麼多,終於到本文的正題了,python開發環境如何安裝selenium呢?
其實selenium安裝很簡單,三步走:
1. pip install selenium
2. 安裝瀏覽器(chrome)
3. 安裝對應瀏覽器驅動(chrome driver)(下載對應驅動放到python安裝目錄便可)
前面也講了,selenium是支持多瀏覽器的,後續主要以chrome瀏覽器爲例展開介紹,其餘瀏覽器安裝是相似的。 Chrome版本與瀏覽器驅動版本的關係以下:
五 測試
Selenium安裝後,須要測試下是否能夠正常工做,只需幾條語句:
此時,如何瀏覽器被打開且自動訪問了百度網址,那麼安裝就正常完成了。
注意:
使用browser.close()關閉瀏覽器可能遇到報錯,該問題已經在selenium github提交issue(#3330),使用文中browser.quit()暫時繞過就能夠了。
其餘資源:
關於python selenium介紹及環境安裝的視頻講解,請參看:http://i.youku.com/weiworld521 第 24 節。