日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Selenium-Grid2 配置

發(fā)布時(shí)間:2024/1/1 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Selenium-Grid2 配置 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為什么要使用Selenium Grid ?

  • 分布式運(yùn)行大規(guī)模的Test
  • 能夠通過(guò)一個(gè)中央點(diǎn),很容易的運(yùn)行不同OS上的不同browser
  • 最小化對(duì)Grid的維護(hù)時(shí)間,并能充分利用虛擬設(shè)備

Selenium Grid 部署與啟動(dòng)

Hub :總控節(jié)點(diǎn),連接調(diào)用Node。
Node: 負(fù)責(zé)執(zhí)行Tests,調(diào)用瀏覽器。

下面以selenium-server-standalone-2.27.0.jar版本為例:
使用這樣3臺(tái)機(jī)器:

  • 10.81.14.170
  • 10.81.14.180
  • 10.81.14.190

啟動(dòng)Hub(10.81.14.180):

java -jar selenium-server-standalone-2.27.0.jar -role hub

在瀏覽器內(nèi)打開(kāi):http://10.81.14.180:4444/grid/console可以查看Hub狀態(tài)。也就是說(shuō)Grid默認(rèn)啟動(dòng)端口是4444,如果想切換為其他端口,則加-port參數(shù)。比如要切換為8888:

java -jar selenium-server-standalone-2.27.0.jar -role hub -port 8888

啟動(dòng)Node(10.81.14.170):

java -jar selenium-server-standalone-2.27.0.jar -role node -hub http://10.81.14.180:8888/grid/register

同樣的,也可以使用-port切換node端口,默認(rèn)端口是5555.
此處的node節(jié)點(diǎn),也可以作為一個(gè)單機(jī)的遠(yuǎn)程節(jié)點(diǎn)存在,并同時(shí)支持RC,WebDriver。瀏覽器輸入http://10.81.14.180:8877/wd/hub可以看到session信息。

然后,同樣的啟動(dòng)10.81.14.180、10.81.14.190上的Node節(jié)點(diǎn)。

打開(kāi)瀏覽器http://10.81.14.180:8888/grid/console,可以看到如下的界面:

至此,Selenium Grid2已經(jīng)配置成功了。

使用Grid運(yùn)行Tests

Selenium Grid2是向后兼容的,同時(shí)支持RC,WebDriver。如果使用RC,即Selenium1,使用以下的方法:

Selenium selenium = new DefaultSelenium(“10.81.14.180”, 8888, “*firefox”, “http://www.baidu.com”);

使用WebDriver的話,使用以下的方法:

DesiredCapabilities capability = DesiredCapabilities.firefox(); WebDriver driver = new RemoteWebDriver(new URL("http://10.81.14.180:8888/wd/hub"), capability);

可以看出所有的請(qǐng)求都發(fā)給了Hub,然后由Hub分配給匹配的節(jié)點(diǎn)來(lái)執(zhí)行。
那么,Hub是如何來(lái)分配的呢?往下看

Node配置

默認(rèn),Node會(huì)啟動(dòng)11個(gè)瀏覽器實(shí)例:5 Firefox,5 Chrome, 1 Internet Explorer. 從Grid Console界面看出來(lái),為什么每個(gè)機(jī)器上有22個(gè)實(shí)例呢?是這樣的,Node為了同時(shí)支持RC與WebDriver兩種協(xié)議,所以就是2*11了。把鼠標(biāo)放到各個(gè)瀏覽器圖標(biāo)上,就可以看出里面的配置區(qū)別了。
內(nèi)容類似:

{"browserName": "*firefox","maxInstances": 5,"seleniumProtocol": "Selenium"}

或者

{"browserName": "firefox","maxInstances": 5,"seleniumProtocol": "WebDriver"}

其中,seleniumProtocol就是定義的不同協(xié)議了。

如何修改Driver配置呢?可以從啟動(dòng)參數(shù)里操作。

-browser browserName=firefox,version=3.6,maxInstances=5,platform=LINUX

那Node默認(rèn)啟動(dòng)的配置是什么呢?
由于如果從啟動(dòng)參數(shù)里,配置這個(gè)多東西,很難寫(xiě)的。因此,官方很人性化的提供了JSON文件來(lái)配置。也就是說(shuō)默認(rèn)啟動(dòng)的配置如下:
http://code.google.com/p/selenium/source/browse/trunk/java/server/src/org/openqa/grid/common/defaults/DefaultNode.json

http://code.google.com/p/selenium/source/browse/trunk/java/server/src/org/openqa/grid/common/defaults/DefaultHub.json

如果想自定義配置,直接對(duì)json文件修改,啟動(dòng)時(shí),指定配置文件就可以了。

java -jar selenium-server-standalone.jar -role hub -hubConfig hubconfig.json

僅僅就這樣就行了?從博文http://www.shenyanchao.cn/blog/2012/10/12/selenium-multiple-browser-support/知道,瀏覽器的啟動(dòng)是要制定一些driver位置的,否則Node不知道怎么啟動(dòng)瀏覽器實(shí)例。因此需要進(jìn)行指定:

java -jar selenium-server-standalone-2.27.0.jar -port 8877 -role node -hub http://10.81.14.180:8888/grid/register -nodeConfig nodeconfig.json -Dwebdriver.chrome.driver="E:/selenium/chromedriver.exe" -Dwebdriver.ie.driver="E:/selenium/IEDriverServer.exe"

參考文檔:
http://code.google.com/p/selenium/wiki/Grid2

總結(jié)

以上是生活随笔為你收集整理的Selenium-Grid2 配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。