您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium并行啟動多個瀏覽器
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2014/11/4 13:54:30 ] 推薦標(biāo)簽:Selenium java 命令

  啟動中心
  通過在命令行執(zhí)行以下命令,可以啟動一個使用默認(rèn)設(shè)置的中心。所有平臺可用,包括 Windows Linux, 或 MacOs 。
  java -jar selenium-server-standalone-2.21.0.jar -role hub
  我們將在接下來的章節(jié)中解釋各個參數(shù)。注意,你可能需要修改上述命令中 jar 包的版本號,這取決于你使用的 selenium-server 的版本。
  啟動節(jié)點(diǎn)
  通過在命令行執(zhí)行以下命令,可以你懂一個使用默認(rèn)設(shè)置的節(jié)點(diǎn)。
  java -jar selenium-server-standalone-2.21.0.jar -role node  -hub http://localhost:4444/grid/register
  該操作假設(shè)中心是使用默認(rèn)設(shè)置啟動的。中心用于監(jiān)聽請求使用的默認(rèn)端口號為 4444,這是為什么端口 4444 被用于中心 url 中。同時“localhost”假定你的節(jié)點(diǎn)和中心運(yùn)行在同一臺機(jī)器上。對于新手來說,這是簡單的方式。如果要在兩臺不同的機(jī)器上運(yùn)行中心和節(jié)點(diǎn),只需要將“localhost”替換成中心所在機(jī)器的 hostname 即可。
  警告: 確保運(yùn)行中心和節(jié)點(diǎn)的機(jī)器均已關(guān)閉防火墻,否則你將看到一個連接錯誤。
  配置 Selenium-Grid
  默認(rèn)配置
  JSON 配置文件
  通過命令行選項(xiàng)配置
  中心配置
  通過指定 -role hub 即以默認(rèn)設(shè)置啟動中心:
  java -jar selenium-server-standalone-2.21.0.jar -role hub
  你將看到以下日志輸出:
  Jul 19, 2012 10:46:21 AM org.openqa.grid.selenium.GridLauncher main
  INFO: Launching a selenium grid server
  2012-07-19 10:46:25.082:INFO:osjs.Server:jetty-7.x.y-SNAPSHOT
  2012-07-19 10:46:25.151:INFO:osjsh.ContextHandler:started o.s.j.s.ServletContextHandler{/,null}
  2012-07-19 10:46:25.185:INFO:osjs.AbstractConnector:Started SocketConnector@0.0.0.0:4444
  指定端口
  中心默認(rèn)使用的端口是 4444 。這是一個 TCP/IP 端口,被用于監(jiān)聽客戶端,即自動化測試腳本到 Selenium-Grid 中心的連接。如果你電腦上的另一個應(yīng)用已經(jīng)占用這個接口,或者你已經(jīng)啟動了一個 Selenium-Server,你將看到以下輸出:
  10:56:35.490 WARN - Failed to start: SocketListener0@0.0.0.0:4444
  Exception in thread "main" java.net.BindException: Selenium is already running on port 4444. Or some other service is.
  如果看到這個信息,你可以關(guān)掉在使用端口 4444 的進(jìn)程,或者告訴 Selenium-Grid 使用一個別的端口來啟動中心。-port 選項(xiàng)用于修改中心的端口:
  java -jar selenium-server-standalone-2.21.0.jar -role hub -port 4441
  即使已經(jīng)有一個中心運(yùn)行在這臺機(jī)器上,只要它們不使用同一個端口,能正常工作。
  你可能想知道哪個進(jìn)程使用了 4444 端口,這樣你可以讓中心使用這個默認(rèn)端口。使用以下命令可以查看你機(jī)器上所有運(yùn)行程序使用的端口:
  netstat -a
  Unix/Linux, MacOs 和 Windows 均支持此命令,只是在 Windows 中 -a 參數(shù)為必須的;旧希阈枰@示進(jìn)程 id 和端口。在 Unix 中,你可以通過管道 “grep” 輸出那些你關(guān)心的端口相關(guān)的條目。
  節(jié)點(diǎn)配置
  時間參數(shù)
  獲取命令行幫助
  Selenium-Server 提供了一個可選項(xiàng)列表,每個選項(xiàng)都有一個簡短的描述。目前(2012夏),命令行幫助還有一些奇怪,但是如果你知道如何去找、如何解讀信息會對你很有幫助。
  Selenium-Server 提供了兩種不同的功能,Selenium-RC server 和 Selenium-Grid。它們是兩個不同的團(tuán)隊(duì)編寫的,所以每個功能的命令行幫助被放置在不同的地方。因此,對于新手來說,在初次使用任意一個功能時,幫助都不是那么顯而易見。
  如果你僅傳遞一個 -h 選項(xiàng),你將看到 Selenium-RC Server 的可選項(xiàng)而不是 Selenium-Grid 的。
  java -jar selenium-server-standalone-2.21.0.jar -h
  上述代碼將顯示 Selenium-RC server 選項(xiàng)。如果你想看到 Selenium-Grid 的命令行幫助,你需要先使用 -hub 或 -node 選項(xiàng)告訴 Selenium-Server 你想看的是關(guān)于 Selenium-Grid 的,然后再追加 -h 選項(xiàng)。
  java -jar selenium-server-standalone-2.21.0.jar -role node -h
  對于這個問題,你還可以給 -role node 傳遞一個垃圾參數(shù):
  java -jar selenium-server-standalone-2.21.0.jar -role node xx
  你將先看到 “INFO...” 和一個 “ERROR”,在其后你將看到 Selenium-Grid 的命令行選項(xiàng)。我們沒有列出這個命令的所有輸出,因?yàn)樗鼘?shí)在太長了,這個輸出的初幾行看起來如下:
Jul 19, 2012 10:10:39 AM org.openqa.grid.selenium.GridLauncher main
INFO: Launching a selenium grid node
org.openqa.grid.common.exception.GridConfigurationException: You need to specify a hub to register to using -hubHost X -hubPort 5555. The specified config was -hubHost null -hubPort 4444
at org.openqa.grid.common.RegistrationRequest.validate(RegistrationRequest.java:610)
at org.openqa.grid.internal.utils.SelfRegisteringRemote.startRemoteServer(SelfRegisteringRemote.java:88)
at org.openqa.grid.selenium.GridLauncher.main(GridLauncher.java:72)
Error building the config :You need to specify a hub to register to using -hubHost X -hubPort 5555. The specified config was -hubHost null -hubPort 4444
Usage :
-hubConfig:
(hub) a JSON file following grid2 format.
-nodeTimeout:
(node) <XXXX>  the timeout in seconds before the hub
automatically ends a test that hasn't had aby activity than XX
sec.The browser will be released for another test to use.This
typically takes care of the client crashes.
  常見錯誤
  Unable to acess the jarfile
  Unable to access jarfile selenium-server-standalone-2.21.0.jar
  無論是啟動中心還是節(jié)點(diǎn)都有可能產(chǎn)生這個錯誤。這意味著 java 無法找到 selenium-server jar 包。你需要從 selenium-server-XXXX.jar 文件存放在目錄運(yùn)行命令或者指定 jar 包的完整路徑。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd