Selenium經(jīng)歷了兩個(gè)版本,selenium1.0和selenium2.0,本次僅介紹selenium2.0的原理,在selenium2.0主推的是webdriver,selenium2.0又名selenium webdriver
原理
webdriver是按照server-client的經(jīng)典設(shè)計(jì)模式設(shè)計(jì)的,server就是remote server,可以是任意的瀏覽器,我們的腳本啟動(dòng)瀏覽器,跳轉(zhuǎn)到特定的url等操作是以http請求的方式發(fā)送給被測server端,server接受請求并執(zhí)行相應(yīng)操作,并在response中返回執(zhí)行狀態(tài)、返回值等信息
簡單介紹一下webdriver的工作原理:
1)啟動(dòng)瀏覽器后,selenium-webdriver會(huì)將目標(biāo)瀏覽器綁定到特定的端口,啟動(dòng)后的瀏覽器則作為webdriver的remote server
2)客戶端(測試腳本),借助comandexecutor發(fā)送http請求給server端
3)server端需要依賴原生的瀏覽器組件,轉(zhuǎn)化webserver的命令為瀏覽器native的調(diào)用來完成操作
the webdriver write protocol是selenium自己設(shè)計(jì)定義的協(xié)議,這套協(xié)議非常強(qiáng)大,幾乎可以操作瀏覽器的任何事情,包括打開、關(guān)閉、最大化、最小化、元素定位、元素點(diǎn)擊、上傳文件等。
webdriver write協(xié)議是通用的,也就是說不管Firefox driver還是chrome driver ,啟動(dòng)之后都會(huì)在某個(gè)端口啟動(dòng)基于這套協(xié)議的webserver
selenium2原理講解
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- Selenium入門 歡迎閱讀Selenium入門講義,本講義將會(huì)重點(diǎn)介紹Selenium的入門知識(shí)以及Selen...
- 洞見SELENIUM自動(dòng)化測試 寫在最前面:目前自動(dòng)化測試并不屬于新鮮的事物,或者說自動(dòng)化測試的各種方法論已經(jīng)層出...
- Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
- 基于 SELENIUM 的自動(dòng)化測試架構(gòu) 非常感謝各位查閱本篇文章,筆者在此感謝各位。 目前市面上有分門別類的自動(dòng)...