Selenium學習筆記
一、Webdriver工作原理:
WebDriver 是按照 server – client 的經典設計模式設計的。
server 端就是 remote server,可以是任意的瀏覽器。當我們的腳本啓動瀏覽器後,該瀏覽器就是 remote
server,它的職責就是等待 client 發送請求並做出相應。
client 端簡單說來就是我們的測試代碼,我們測試代碼中的一些行爲,比如打開瀏覽器,轉跳到特定
的 url 等操作是以 http 請求的方式發送給被 測試瀏覽器,也就是 remote server;remote server 接受請求,
並執行相應操作,並在 response 中返回執行狀態、返回值等信息。
webdriver 的工作流程:
- WebDriver 啓動目標瀏覽器,並綁定到指定端口。該啓動的瀏覽器實例,做爲 WebDriver 的 remote
server。 - Client 端通過 CommandExcuter 發送 HTTPRequest 給 remote server 的偵聽端口(通信協議: the
webriver wire protocol)
111
《Selenium2 Python 自動化測試實戰》樣張 - Remote server 需要依賴原生的瀏覽器組件(如:IEDriverServer.exe、chromedriver.exe),來轉化轉
化瀏覽器的 native 調用。