在线乱码卡一卡二卡新HD,最近韩国免费观看视频,国产色无码精品视频国产,亚洲男人的天堂久久香蕉

分布式系統(tǒng)Selenium GRID的原理及應用
來源:移動Labs    時間:2022-10-24 10:07:55

作者 | 汪歡,單位:中國移動智慧家庭運營中心


(資料圖片僅供參考)

?Labs 導讀

分布式系統(tǒng)是由一組通過網(wǎng)絡進行通信、為了完成共同的任務而協(xié)調(diào)工作的計算機節(jié)點組成的系統(tǒng)。分布式系統(tǒng)的出現(xiàn)是為了用廉價的、普通的機器完成單個計算機無法完成的計算、存儲任務。其目的是利用更多的機器,處理更多的數(shù)據(jù)。如上,是分布式系統(tǒng)的概念,在測試系統(tǒng),也有分布式的應用場景,今天向大家介紹一下基于selenium的分布式測試,Selenium-Grid。

Part 01 什么是Selenium-Grid

Selenium Grid是Selenium的三大組件之一,它的作用就是允許我們在多臺計算機上并行運行測試, 并集中管理不同的瀏覽器版本和瀏覽器配置。

Part 02Selenium-Grid的使用場景

- 支持在多執(zhí)行環(huán)境進行測試

Selenium Grid支持在多個物理機或者虛擬機(跨平臺、跨瀏覽器)上執(zhí)行,比如測試節(jié)點1為物理機,操作系統(tǒng)為Windows7,瀏覽器為Google Chrome,測試節(jié)點2為物理機,操作系統(tǒng)為Linux,瀏覽器為Firefox,測試節(jié)點3為基于Dockers的虛擬化環(huán)境,瀏覽器為IE8。Selenium-Grid對這三個節(jié)點均可以調(diào)用。

- 結(jié)合多線程技術(shù),在多臺設備并行進行測試,可以有效地減少測試時間

Selenium Grid本身并不支持多線程并發(fā)執(zhí)行,但是可以結(jié)合多線程技術(shù),實現(xiàn)測試并發(fā)執(zhí)行。

Part 03Selenium-Grid的結(jié)構(gòu)

Grid由一個中心(hub)和一到多個節(jié)點(Node)組成。

其中,hub節(jié)點作為管理節(jié)點,用來管理各個代理節(jié)點的注冊和狀態(tài)信息,并且接收遠程客戶端代碼請求調(diào)用,然后把請求的命令再轉(zhuǎn)發(fā)給代理代點來執(zhí)行。

Node節(jié)點就是實際執(zhí)行任務的節(jié)點,即瀏覽器所在的節(jié)點,它的主要作用就是注冊到hub節(jié)點,并接收hub節(jié)點的請求及執(zhí)行測試。

Part 04 環(huán)境搭建預置配置

Hub和Node節(jié)點PC需要部署java環(huán)境,且Hub節(jié)點與Node節(jié)點處于同一個局域網(wǎng)中,且網(wǎng)絡互通,并將selenium grid的jar包下載到PC,下載地址:https://cdn.npm.taobao.org/dist/selenium/3.9/selenium-server-standalone-3.9.1.jar,

配置Hub節(jié)點

以Windows系統(tǒng)為例,進入jar包所在目錄,輸入以下命令:

java -jar selenium-server-standalone-3.9.1.jar -role hub -port 4455role:表示此節(jié)點為hub節(jié)點port:表示Hub通過此接口與Node節(jié)點進行交互

此時,我們在192.168.1.3這臺PC上創(chuàng)建了Hub節(jié)點,我們登陸一下hub節(jié)點,查看一下當前Selenium Grid整體的一個狀態(tài),打開http://192.168.1.3:4455/這個頁面,可以看到右下角有個Console鏈接。

點擊console,可以自動跳轉(zhuǎn)到selenium Grid的控制頁面,顯示如下:

因其他Node節(jié)點還未配置,故只能查看當前配置項。

配置Node節(jié)點

配置節(jié)點一:

同樣的,我們以Windows系統(tǒng)為例,進入jar包所在目錄,輸入以下命令:

java -jar selenium-server-standalone-3.9.1.jar -role node -hub http://192.168.1.3:4455/grid/register

命令輸入完成后,可以看到,當前設備已注冊成功,我們再返回到Hub節(jié)點,刷新http://192.168.1.3:4455/grid/console頁面,查看Node節(jié)點是否注冊成功。

此時,我們可以看到一個IP為192.168.147.1的設備已成功注冊到Hub節(jié)點,且這個設備上有三種瀏覽器,分別為firefox、IE、Chrome。

配置節(jié)點二:

同樣的,第二臺PC,進入jar包所在目錄,輸入以下命令:

java -jar selenium-server-standalone-3.9.1.jar -role node -hub http://192.168.1.3:4455/grid/register

Node節(jié)點二,顯示已注冊成功,此時我們登陸Hub,查看注冊情況:

我們在Hub節(jié)點可以看到兩個Node節(jié)點。

Part 05驗證效果

現(xiàn)在我們通過Python來驗證以下selenium grid的神奇之處,我們在Hub節(jié)點編寫一個自動化腳本,通過在Hub節(jié)點來下發(fā)任務,由Node節(jié)點來實現(xiàn)具體測試。測試的內(nèi)容為讓Node1節(jié)點通過Firefox瀏覽器打開百度網(wǎng)站。

Hub節(jié)點上相應的Python腳本及執(zhí)行結(jié)果如下:

Node1節(jié)點上命令行的顯示執(zhí)行的任務如下:

就此,整個完整的小測試已完成,你是不是想自己嘗試操作一遍??

關(guān)鍵詞: 分布式系統(tǒng) 操作系統(tǒng) 看到兩個 執(zhí)行任務

上一篇:

下一篇:

X 關(guān)閉

X 關(guān)閉

<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>