天天看點

Selenium Web自動化 原理

文章轉自 白月黑羽教Python

原理

說到web應用自動化測試,第一選擇就是 Selenium 架構。

Selenium 是一個 Web 應用的自動化架構。

通過它,我們可以寫出自動化程式像人一樣(在浏覽器裡)操作web界面。 比如點選界面按鈕,在文本框中輸入文本,甚至一些拖拽操作,滾動界面的操作。

并且能夠從web界面擷取資訊。 比如擷取某個區域的文字内容,進而通過自動化程式進行分析處理。

Selenium3.0 的自動化架構是這樣的

Selenium Web自動化 原理

從上圖可以看出:

我們寫的自動化程式 需要使用一個Selenium組織提供的 用戶端庫。

我們程式的自動化請求都是通過使用這個庫的接口對象完成的。 比如調用某個元素對象的click方法, 就會發送點選這個元素的請求給 下方的浏覽器驅動。

這個自動化程式的請求是通過用戶端庫,建構出相應的HTTP請求,發送給浏覽器驅動的。

浏覽器驅動 也是一個獨立的程式,是由浏覽器廠商提供的, 不同的浏覽器需要不同的浏覽器驅動。 比如 Chrome浏覽器和 火狐浏覽器有 各自不同的驅動程式。

浏覽器驅動接收到我們的自動化程式發送過來的界面操作請求後,會轉發請求給浏覽器, 讓浏覽器去執行對應的自動化操作。

浏覽器執行完操作後,會将自動化的結果傳回給浏覽器驅動, 浏覽器驅動再通過http響應的消息傳回給我們的自動化程式的用戶端庫。

自動化程式的用戶端庫 接收到響應後,将結果轉化為 資料對象 傳回給我的自動化程式代碼。我們的程式就可以知道這次自動化操作的結果如何了。

上述自動化的往返流程都是在我們的程式對Selenium用戶端庫的調用和傳回之間發生的事情。

Selenium組織提供了多種主流程式設計語言的Selenium用戶端庫, 友善不同程式設計語言的開發者使用。

安裝

Selenium環境的安裝主要就是安裝兩樣東西: 用戶端庫 和浏覽器 驅動

安裝用戶端庫

不同的程式設計語言選擇不同的Selenium用戶端庫。

對應我們Python語言來說,Selenium用戶端庫的安裝非常簡單,用pip 指令即可。

打開 指令行程式,運作如下指令

pip install selenium

安裝浏覽器驅動

不同的浏覽器選擇不同的浏覽器驅動。

目前來說,主流的浏覽器就是 Chrome 和 火狐。 而 Chrome 浏覽器對Selenium自動化的支援目前來說更加成熟一些。

我們就以Chrome浏覽器為例。

Chrome 浏覽器的驅動在谷歌的網站上。大家都知道,谷歌的網站,我們國内通路隻能呵呵了。

當然,如果你能科學上網,那麼可以通路下面的連結, 擷取最新版本的chrome浏覽器驅動

https://sites.google.com/a/chromium.org/chromedriver/downloads

點選下圖箭頭處,下載下傳最新驅動

Selenium Web自動化 原理

注意浏覽器驅動 必須要和浏覽器版本比對,如上圖紅圈裡面的聲明。

比如:目前Chrome驅動版本是2.37, 支援的Chrome浏覽器版本号是 64 到 66 之間都可以。

為了友善不能科學上網的朋友擷取最新驅動。

白月黑羽會一直為大家在這裡提供Windows版本上最新的驅動下載下傳。大家隻需點選下方連結即可

下載下傳連結:Chrome驅動2.37版,支援Chrome浏覽器64-66

這是個zip包,下載下傳下來之後裡面的程式檔案 chromedriver.exe 解壓到某個目錄下面,注意這個目錄的路徑最好是沒有中文名和空格的。

建議大家解壓到

d:\webdrivers

目錄下面。

也就是保證我們的Chrome浏覽器驅動路徑為

d:\webdrivers\chromedriver.exe

安裝好以後,如何 使用Python語言結合Selenium編寫 Web 自動化呢

通路原文網站,看 下一篇 操作web界面

Work for fun,Live for love!

繼續閱讀