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

  啟動(dòng)中心
  通過在命令行執(zhí)行以下命令,可以啟動(dòng)一個(gè)使用默認(rèn)設(shè)置的中心。所有平臺(tái)可用,包括 Windows Linux, 或 MacOs 。
  java -jar selenium-server-standalone-2.21.0.jar -role hub
  我們將在接下來的章節(jié)中解釋各個(gè)參數(shù)。注意,你可能需要修改上述命令中 jar 包的版本號(hào),這取決于你使用的 selenium-server 的版本。
  啟動(dòng)節(jié)點(diǎn)
  通過在命令行執(zhí)行以下命令,可以你懂一個(gè)使用默認(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è)置啟動(dòng)的。中心用于監(jiān)聽請(qǐng)求使用的默認(rèn)端口號(hào)為 4444,這是為什么端口 4444 被用于中心 url 中。同時(shí)“localhost”假定你的節(jié)點(diǎn)和中心運(yùn)行在同一臺(tái)機(jī)器上。對(duì)于新手來說,這是簡(jiǎn)單的方式。如果要在兩臺(tái)不同的機(jī)器上運(yùn)行中心和節(jié)點(diǎn),只需要將“localhost”替換成中心所在機(jī)器的 hostname 即可。
  警告: 確保運(yùn)行中心和節(jié)點(diǎn)的機(jī)器均已關(guān)閉防火墻,否則你將看到一個(gè)連接錯(cuò)誤。
  配置 Selenium-Grid
  默認(rèn)配置
  JSON 配置文件
  通過命令行選項(xiàng)配置
  中心配置
  通過指定 -role hub 即以默認(rèn)設(shè)置啟動(dòng)中心:
  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 。這是一個(gè) TCP/IP 端口,被用于監(jiān)聽客戶端,即自動(dòng)化測(cè)試腳本到 Selenium-Grid 中心的連接。如果你電腦上的另一個(gè)應(yīng)用已經(jīng)占用這個(gè)接口,或者你已經(jīng)啟動(dòng)了一個(gè) 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.
  如果看到這個(gè)信息,你可以關(guān)掉在使用端口 4444 的進(jìn)程,或者告訴 Selenium-Grid 使用一個(gè)別的端口來啟動(dòng)中心。-port 選項(xiàng)用于修改中心的端口:
  java -jar selenium-server-standalone-2.21.0.jar -role hub -port 4441
  即使已經(jīng)有一個(gè)中心運(yùn)行在這臺(tái)機(jī)器上,只要它們不使用同一個(gè)端口,能正常工作。
  你可能想知道哪個(gè)進(jìn)程使用了 4444 端口,這樣你可以讓中心使用這個(gè)默認(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í)間參數(shù)
  獲取命令行幫助
  Selenium-Server 提供了一個(gè)可選項(xiàng)列表,每個(gè)選項(xiàng)都有一個(gè)簡(jiǎn)短的描述。目前(2012夏),命令行幫助還有一些奇怪,但是如果你知道如何去找、如何解讀信息會(huì)對(duì)你很有幫助。
  Selenium-Server 提供了兩種不同的功能,Selenium-RC server 和 Selenium-Grid。它們是兩個(gè)不同的團(tuán)隊(duì)編寫的,所以每個(gè)功能的命令行幫助被放置在不同的地方。因此,對(duì)于新手來說,在初次使用任意一個(gè)功能時(shí),幫助都不是那么顯而易見。
  如果你僅傳遞一個(gè) -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
  對(duì)于這個(gè)問題,你還可以給 -role node 傳遞一個(gè)垃圾參數(shù):
  java -jar selenium-server-standalone-2.21.0.jar -role node xx
  你將先看到 “INFO...” 和一個(gè) “ERROR”,在其后你將看到 Selenium-Grid 的命令行選項(xiàng)。我們沒有列出這個(gè)命令的所有輸出,因?yàn)樗鼘?shí)在太長(zhǎng)了,這個(gè)輸出的初幾行看起來如下:
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.
  常見錯(cuò)誤
  Unable to acess the jarfile
  Unable to access jarfile selenium-server-standalone-2.21.0.jar
  無論是啟動(dòng)中心還是節(jié)點(diǎn)都有可能產(chǎn)生這個(gè)錯(cuò)誤。這意味著 java 無法找到 selenium-server jar 包。你需要從 selenium-server-XXXX.jar 文件存放在目錄運(yùn)行命令或者指定 jar 包的完整路徑。

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