自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

分布式系統(tǒng)Selenium GRID的原理及應(yīng)用

網(wǎng)絡(luò) 通信技術(shù)
今天向大家介紹一下基于selenium的分布式測試,Selenium-Grid。

作者 | 汪歡,單位:中國移動(dòng)智慧家庭運(yùn)營中心

?Labs 導(dǎo)讀

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

Part 01 什么是Selenium-Grid 

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

Part 02 Selenium-Grid的使用場景 

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

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

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

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

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

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

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

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

圖片

Part 04 環(huán)境搭建 

預(yù)置配置

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

配置Hub節(jié)點(diǎn)

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

java -jar selenium-server-standalone-3.9.1.jar -role hub -port 4455

  • role:表示此節(jié)點(diǎn)為hub節(jié)點(diǎn)
  • port:表示Hub通過此接口與Node節(jié)點(diǎn)進(jìn)行交互

圖片

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

圖片

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

圖片

因其他Node節(jié)點(diǎn)還未配置,故只能查看當(dāng)前配置項(xiàng)。

配置Node節(jié)點(diǎn)

配置節(jié)點(diǎn)一:

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

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

圖片

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

圖片

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

配置節(jié)點(diǎn)二:

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

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

圖片

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

圖片

我們在Hub節(jié)點(diǎn)可以看到兩個(gè)Node節(jié)點(diǎn)。

Part 05 驗(yàn)證效果

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

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

圖片

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

圖片

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

責(zé)任編輯:未麗燕 來源: 移動(dòng)Labs
相關(guān)推薦

2014-07-10 09:28:57

光纖

2018-07-16 08:39:18

分布式系統(tǒng)集群

2018-12-14 10:06:22

緩存分布式系統(tǒng)

2023-09-14 15:44:46

分布式事務(wù)數(shù)據(jù)存儲(chǔ)

2023-05-12 08:23:03

分布式系統(tǒng)網(wǎng)絡(luò)

2015-05-26 11:18:06

分布式系統(tǒng)可擴(kuò)展性

2020-01-17 09:07:14

分布式系統(tǒng)網(wǎng)絡(luò)

2022-05-11 22:10:05

分布式云云計(jì)算公共云

2023-02-11 00:04:17

分布式系統(tǒng)安全

2024-01-08 08:05:08

分開部署數(shù)據(jù)體系系統(tǒng)拆分

2024-11-28 15:11:28

2023-05-29 14:07:00

Zuul網(wǎng)關(guān)系統(tǒng)

2019-10-16 10:34:33

數(shù)據(jù)庫大數(shù)據(jù)腳本語言

2012-10-09 16:43:47

FastDFS分布式文件系統(tǒng)

2017-08-30 16:47:49

Kafka設(shè)計(jì)原理

2024-01-09 08:00:58

2010-05-12 17:03:30

Oracle復(fù)制技術(shù)

2017-10-27 08:40:44

分布式存儲(chǔ)剪枝系統(tǒng)

2022-06-21 08:27:22

Seata分布式事務(wù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號