簡體   English   中英

無法使用 Selenium Grid 在節點中執行超過 5 個瀏覽器實例

[英]Not able to execute more that 5 instances of browser in a node using Selenium Grid

當我通過 Selenium Grid 使用 TestNG 並行執行 5 個以上的測試時,只有 5 個同時執行。 其余的都在排隊。 我已經配置了我的節點,使其支持 7 個 Chrome 實例。 為什么剩下的 2 個實例沒有得到利用?

這是來自網格控制台的節點屏幕截圖:

在此處輸入圖片說明

節點配置截圖:

節點配置

節點啟動代碼:

java -jar selenium-server-standalone-3.8.1.jar -role node  -hub http://localhost:4444/grid/register -port 5556 -nodeConfig nodeConfig.json

節點配置 JSON:

{
  "capabilities": [

    {
      "browserName": "chrome",
      "platform": "WIN10",
      "maxInstances": 7
    }

  ],
  "hub": "http://selenium-hub-host:4444"
}

TestNG XML(我使用 parallel 並行運行所有 7 個測試):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">


<suite name="myTestSuit" parallel="tests" thread-count="10">


    <test name="myTest1">

        <parameter name="browser" value="Chrome"></parameter>

        <classes>

            <class name="testClass1"></class>
            <class name="testClass2"></class>
            <class name="testClass3"></class>

        </classes>

    </test>


    <test name="myTest2">

        <parameter name="browser" value="Chrome"></parameter>

        <classes>

            <class name="testClass1"></class>
            <class name="testClass2"></class>
            <class name="testClass3"></class>

        </classes>

    </test>


    <test name="myTest3">

        <parameter name="browser" value="Chrome"></parameter>

        <classes>

            <class name="testClass1"></class>
            <class name="testClass2"></class>
            <class name="testClass3"></class>

        </classes>

    </test>


    <test name="myTest4">

        <parameter name="browser" value="Chrome"></parameter>

        <classes>

            <class name="testClass1"></class>
            <class name="testClass2"></class>
            <class name="testClass3"></class>

        </classes>

    </test>


    <test name="myTest5">

        <parameter name="browser" value="Chrome"></parameter>

        <classes>

            <class name="testClass1"></class>
            <class name="testClass2"></class>
            <class name="testClass3"></class>

        </classes>

    </test>



    <test name="myTest6">

        <parameter name="browser" value="Chrome"></parameter>

        <classes>

            <class name="testClass1"></class>
            <class name="testClass2"></class>
            <class name="testClass3"></class>

        </classes>

    </test>


    <test name="myTest7">

        <parameter name="browser" value="Chrome"></parameter>

        <classes>

            <class name="testClass1"></class>
            <class name="testClass2"></class>
            <class name="testClass3"></class>

        </classes>

    </test>



</suite>

(我還嘗試在我的系統中創建兩個節點。每個節點都支持 5 個 Chrome,所以我總共有 10 個 Chrome 實例。在這種情況下,也只有 5 個可用實例得到了利用)。

您需要更改節點配置 JSON 中的maxSession參數。

例如,

{
  "capabilities":
  [
    {
      "browserName": "chrome",
      "platform": "WIN10",
      "maxInstances": 7
    }
  ],
  "maxSession": 10,
  "hub": "http://selenium-hub-host:4444",

}

默認線程數為 5,所以只有瀏覽器打開。 實際上你需要在 testng.xml 文件中指定它。 在套件中標記 thread-count='7' 或 '10' 根據您的意願。

我能夠通過應用@murali selenium@Ratmir Asanov的解決方案來解決這個問題。

  1. 首先在 TestNG XML 中,設置 thread-count="10"(默認值為 5)
  2. 現在,在 Node config JSON 中,設置 "maxSession": 10(默認情況下,'MACHINE' 中只允許 5 個會話)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM