你不需要自己管理測試隊列。硒網格和節點已經到位。所以爲了減少每個節點的過載,可以使用一些配置。我們有maxSession
和maxInstance
參數。
maxSession
- 節點上可以並行運行的瀏覽器的最大數量 maxInstance
- 可以在節點上並行運行的相同瀏覽器實例的最大數量。
F.e. maxSession = 3,maxInstance = 2.你可以有2個Firefox + 1個Chrome瀏覽器
你沒有提到你的硒驅動程序版本是什麼。所以可以說它的最新3.x.x
。您可以創建node-config.json
文件並在其中存儲此參數。
{
"capabilities": [
{
"browserName": "chrome",
"maxInstances": "2",#settings per browser
}
],
"maxSession": "3", #settings per node
}
啓動的節點:
java -jar /path_to_driver/serve.jar -role node -hub HUB_ADDRESS -nodeConfig /path_to_node_config/node-config.json
所以,當你要運行新的測試 - 電網將註冊,並會等待一個免費的節點。所以它可以爲你保留一個堆棧
也可以使用bash命令parallel
並創建一個測試數組,然後以並行方式運行它。可以說5個工作並行。
parallel --jobs 5 -k --gnu ::: "${arrayToRun[@]}"
更多Selenium configuration 更多關於運行測試中parallel
參見:[?我怎麼做X](https://meta.stackoverflow.com/questions/253069/whats-the-appropriate-new-current-close-reason-對於SO-do-i-do-x)對SO的期望是,用戶提出問題不僅要研究回答他們自己的問題,還要分享研究,代碼嘗試和結果。這表明你已經花時間去嘗試幫助自己,它使我們避免重申明顯的答案,最重要的是它可以幫助你得到更具體和相關的答案!另請參閱:[問] – JeffC
@JeffC 「我已經通過StackOverflow進行了搜索並閱讀了Selenium文檔,以查看是否有任何命令可用於檢查此問題,但出現空白。」 這是一個問題,其答案對我來說並不明顯,並且以前沒有在我能找到的論壇上詢問過。我可以想象說明我已經搜索了答案,這表明我在提問之前已經完成了工作。不知道你還需要什麼。 – Keith
快速搜索爲我提供了前兩個結果:https://stackoverflow.com/questions/6517501/selenium-2-how-to-check-that-server-is-running-and-stop-the-server和https ://allabouttestautomation.wordpress.com/2016/03/19/useful-selenium-grid-commands-to-query-status-and-shutdown-hub-nodes/它看起來像你正在尋找的東西,但你沒有提到你已經看過他們或者解僱他們等等。 – JeffC