2012-12-26 49 views
0

我按照here所述運行硒網格。
我有集線器,一個節點在一個虛擬機上運行,​​其他節點在其他虛擬機上運行。

當我去http://hub:4444/grid/控制檯,我可以看到的節點和配置,但在很多時候我需要:硒網格操縱軟件

  • 重新啓動整個網格
  • 重新啓動一個節點
  • 添加一個節點
  • 刪除節點

此刻我通過登錄到所有節點並手動重新啓動/更改。這非常耗時,特別是當我需要重新啓動整個電網時。

我的問題是,是否有定義機器的軟件,並且我很快能夠進行這些更改。類似於網格操縱/配置軟件,或者可能是在這些情況下節省時間的一些最佳實踐?

回答

1

你可以做研究,也可以在亞馬遜AWS上投資。

如果您硒樞紐港(4444)是向公衆開放,您可以使用AWS API來火了,當它啓動時它有一個啓動批處理文件來使用你的主機實例。 java -jar server.jar -role node -hub http:hub:4444/grid/register

這也可以讓你幾乎觸發X個實例,比如1000,每臺機器運行1個測試。可能你可以在一個小時內運行一個完整的自動化迴歸套件。

當你得到一個可靠的系統,你就可以通過命令行(或通過運行測試)火了起來,然後關機情況下就突發奇想,無需任何配置。

硒/亞馬遜
Amazon AWS
Setting up your Grid

額外的材料
Selenium Grid EC2 AMI

+0

感謝您的回答,但我正在尋找一個免費解。另一個缺點是,並非所有我正在測試的應用程序都可以從公共訪問>也有了這個解決方案,我仍然會最終手動管理網格。 –

+1

不完全。您對付費解決方案是正確的,但是Amazon VPC允許您擁有自己的實例雲,這意味着他們可以訪問其他隱藏的Web應用程序。不,你不會在初始配置後再手動管理它。 – sircapsalot

+0

爲什麼downvote? – sircapsalot

1

我們一年前有同樣的問題。早些時候我曾問過類似的問題。 How to maintain Selenium Grid?。 Selenium Grid 2.0提供了一些集成這些功能的方法。

但是,我的組織執行了一些不同的事情。我們爲網格維護創建了一些UI屏幕。步驟是這樣的:

  1. 獲取虛擬機的所有IP地址和DNS數據庫表
  2. 創建
  3. 中的所有虛擬機的啓動將一個小型的Java程序集線器和RC虛擬機之間的映射這將做一個查找在DB找出它應該連接到哪些樞紐和它應該使用什麼瀏覽器配置進行連接。
  4. 的重新分配集線器之間的虛擬機創建UI。來自用戶界面的任何分配都將重新啓動虛擬機,並會依次觸發啓動腳本。

建立上述解決方案需要一定的時間和精力,但值得一提的是我使用一年後的感受。

0

Selenium Grid是您的測試基礎架構,但聽起來您需要在它之上的一層來管理此基礎架構。

我推薦使用Docker來管理你的網格。在傳統VM設置中使用Docker有一些巨大的好處:

  1. Docker容器比VM更輕量級。每個節點需要擔心的開銷較少。

  2. Docker有許多內置的方法來快速創建網格,縮放節點或縮小節點並快速重新啓動整個網格。

  3. 碼頭集裝箱都可以在一臺機器上運行,所以有一箇中心控制點。不再需要單獨訪問每個虛擬機來解決問題或維護性能。

如果你想看到一個例子,我在我的公司最近做了這一點,並在這裏寫一下吧:

http://www.conductor.com/nightlight/running-selenium-grid-using-docker-compose/