原文地址:https://www.cnblogs.com/imyalost/p/7242747.html#4109245
作者:老 張
1.關於Webdriver
設計模式:按照Server-Client的經典設計模式設計;
Server端:即Remote Server(遠程服務器),可以是任意的瀏覽器,當腳本啟動瀏覽器時,該瀏覽器就是Remote Server,它的職責是等待Client發送請求並做出響應;
Client端:我們的測試代碼中的一些行為是以HTTP請求的方式發送給被測試瀏覽器——Remote Server,Remote Server接受請求,執行相應操作,並在Response中返回執行狀態、返回值等信息;
2.WebDriver工作流程
-
WebDriver啟動目標瀏覽器,並綁定至指定端口,啟動的瀏覽器實例將作為WebDriver的Remote Server;
-
Client端通過CommandExcuter發送HTTPRequest給Remote Server的偵聽端口(通信協議:the webdriver wire protocol);
-
Remote Server需要依賴原生的瀏覽器組件(比如:chromedriver.exe)來轉化瀏覽器的native調用;
3.總結
selenium UI自動化三要素
- client: 測試代碼
- server: 瀏覽器
- 中間件: 瀏覽器驅動(chromdriver.exe,geckodriver.exe等等)