Selenium的实现原理,一篇文章讲透彻!
Selenium的實(shí)現(xiàn)原理
對于Selenium而言,V1.0和V2.0版本的技術(shù)方案是截然不同的,V1.0 的核心是Selenium RC,而V2.0 的和核心是WebDriver,可以說完全是兩個東西。
Selenium 1.0的工作原理
Selenium 1.0又稱Selenium RC,其中RC是Remote Control的縮寫。Selenium RC利用的原理是:JavaScript代碼可以很方便地獲取頁面上的renew元素并執(zhí)行各種操作。
但因?yàn)椤巴凑摺?#xff0c;所以要想在測試用例運(yùn)行中的瀏覽器中,注入JavaScript代碼從而實(shí)現(xiàn)自動化的Web操作,Selenium RC就必須“欺騙”被測站點(diǎn),讓它誤以為被注入的代碼是同源的。
如何實(shí)現(xiàn)欺騙呢?這就是引入Selenium RC Server的根本原因,其中的Http Proxy模塊就是用來“欺騙”瀏覽器的。Selenium RC的基本模塊如下:
Selenium RC Server,主要包括Selenium Core,Http Proxy和Launcher三部分:
? Selenium Core,是被注入到瀏覽器頁面的JavaScript函數(shù)集合,用來實(shí)現(xiàn)界面元素的識別和操作;
? Http Proxy,作為代理服務(wù)器修改JavaScript的源,以達(dá)到“欺騙”被測站點(diǎn)的目的;
? Launcher,用來啟動瀏覽器完成Selenium Core的注入和瀏覽器代碼的設(shè)置。
Selenium RC的執(zhí)行流程如下圖:
如果對軟件測試有興趣,想了解更多的測試知識,解決測試問題,以及入門指導(dǎo),幫你解決測試中遇到的困惑,我們這里有技術(shù)高手。如果你正在找工作或者剛剛學(xué)校出來,又或者已經(jīng)工作但是經(jīng)常覺得難點(diǎn)很多,覺得自己測試方面學(xué)的不夠精想要繼續(xù)學(xué)習(xí)的,想轉(zhuǎn)行怕學(xué)不會的, 都可以加入我們
,群內(nèi)可領(lǐng)取最新軟件測試大廠面試資料和Python自動化、接口、框架搭建學(xué)習(xí)資料!
Client Libraries,是測試用例代碼向Selenium RC Server發(fā)送Http請求的接口,支持多種語言,包括Java、C#和Ruby等。
Selenium 2.0的工作原理
Selenium 2.0又稱Selenium WebDriver,它利用的原理是:使用瀏覽器原生的WebDriver實(shí)現(xiàn)頁面操作。它的實(shí)現(xiàn)方式完全不同于Selenium 1.0。
Selenium WebDriver是典型的Server-Client模式,Server端就是Remote Server。Selenium WebDriver執(zhí)行流程如下圖所示:
如果對軟件測試有興趣,想了解更多的測試知識,解決測試問題,以及入門指導(dǎo),幫你解決測試中遇到的困惑,我們這里有技術(shù)高手。如果你正在找工作或者剛剛學(xué)校出來,又或者已經(jīng)工作但是經(jīng)常覺得難點(diǎn)很多,覺得自己測試方面學(xué)的不夠精想要繼續(xù)學(xué)習(xí)的,想轉(zhuǎn)行怕學(xué)不會的, 都可以加入我們
,群內(nèi)可領(lǐng)取最新軟件測試大廠面試資料和Python自動化、接口、框架搭建學(xué)習(xí)資料!
總結(jié)
以上是生活随笔為你收集整理的Selenium的实现原理,一篇文章讲透彻!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 这几个免费的PPT素材网站,你一定要知道
- 下一篇: esp32 s3 USB OTG Ard