底層原理如下:
1.在自動化測試過程中,存在三部分元件:客戶端指令碼+驅動+瀏覽器終端。
2.驅動檔案,以geckodriver.exe為例,這個可執行的驅動檔案啟動後,相當於乙個暴露了一系列介面的伺服器,監聽某一埠,例如:89890。
3.客戶端的操作(訪問頁面,定位元素,輸入資料,點選按鈕等)都是封裝成了介面請求(eg:/session/xx/yy),然後提交到驅動伺服器。
4.驅動伺服器接收到客戶端的請求後,再跟終端瀏覽器互動。
5.終端瀏覽器做出相應操作。
下圖描述了整個互動過程:
以定位元素為例,定位搜尋框,我們來看底下這行**在執行的時候底層到底經歷了些什麼:
實際,底層請求時,每個請求會被封裝為乙個command,然後根據不同的commannd封裝得到不同的httprequest物件:
拿到此介面位址封裝為乙個httprequest請求。
client.execute(httprequest,true),執行介面呼叫:
//建立火狐驅動物件當上面這行**執行完,可以發現eclipse的控制台顯示了如下資訊:webdriver driver = new firefoxdriver();
1531911173760 geckodriver info geckodriver 0.19.0說明此驅動伺服器成功啟動了,並且監聽了本機的21984埠,等待客戶端發起請求,並處理。1531911173772 geckodriver info listening on 127.0.0.1:21984
**於:
UI自動化測試隨筆
昨天給開發的同事講我們正在做的自動化測試,同事問了句 為什麼api的測試不需要寫 了,而ui的測試還需要寫那麼多 呢?能不寫 麼?目前我們的自動化測試的現狀 目前主要覆蓋兩個部分 api的測試和ui的測試。對於api的測試經過框架的封裝,基本上只需要編寫乙個xml描述的test case就可以了,x...
UI自動化測試框架
python selenium unittest ddt htmlreport分布式資料驅動自動化測試框架結構 1 business 公共業務模組,如登入模組,可以把登入模組進行封裝供呼叫 login business.py from page object.common page.login pa...
UI自動化測試 介面測試等自動化測試策略
今天跟大家介紹ui測試 介面測試 單元測試主要內容,以及每種測試花費時間討論。ui測試 selenium ui測試是最接近軟體真實使用者使用行為的測試型別。通常是模擬真實使用者使用軟體的行為,即模擬使用者在軟體介面上的各種操作,並驗證這些操作對應的結果是否正確。介面測試 api測試 api測試,主要...