66

Selenium少し頭を悩ませている質問に誰かが光を当てることができるかどうか疑問に思いました。

SeleniumGridの意味MaxSessionとの意味について混乱しています。これは、単一ノードで実行できるテストセッションの総数でMaxInstancesあると考えています。MaxSessionまたMaxInstances、テストで開くことができるブラウザの総数であると考えています。

またはMaxInstances、ノードで使用可能なブラウザーの総数はありますか?

使用しているコマンドは次のとおりです。

java -Xrs -jar selenium-server.jar -role node -port 44506 -hub http://localhost:44500
/grid/register -firefoxProfileTemplate SeleniumProfile -timeout 300000 -browser 
"browserName=firefox,maxInstances=10,platform=ANY,seleniumProtocol=WebDriver" -browser 
"browserName=chrome,maxInstances=10,platform=ANY,seleniumProtocol=WebDriver"

ノード(上記)の使用方法は、デフォルトで5つの同時テストセッションであると考えています。

各テストで20個のブラウザーを使用できますか?

または、各テストセッションはプール内の20個のブラウザー(10 chrome / 10 FF)を他のテストセッションと共有しますか?

4

4 に答える 4

121

いい質問です。少し紛らわしいと思いますが、簡単に答えようとします。

MaxInstancesこれは、同じバージョンのブラウザのインス​​タンスがリモートシステム上でいくつ実行できるかを示しています。

For example, i have a FF12,IE and i declared the command as follows
-browser browserName=firefox,version=12,maxInstances=5,platform=LINUX
-browser browserName=InternetExplorer,version=9.0,maxInstances=5,platform=LINUX

したがって、Firefox 12の5つのインスタンスと、IE9の5つのインスタンスをリモートマシンで同時に実行できます。したがって、合計ユーザーは、異なるブラウザー(FF12およびIE9)の10個のインスタンスを並行して実行できます。

MaxSessionこれは、リモートシステムで一度にいくつのブラウザ(任意のブラウザと任意のバージョン)を並行して実行できるかを示しています。したがって、これは最大インスタンス設定を上書きし、並行して実行できるブラウザインスタンスの数を制限できます。

For above example, when maxSession=1 forces that you never have more than 1 browser running. 

With maxSession=2 you can have 2 Firefox tests at the same time, or 1 Internet Explorer and 1 Firefox test). 

定義したMaxInstancesに関係なく。

より明確な情報については、 https://seleniumhq.github.io/docs/grid.htmlにアクセスしてください。

于 2012-12-05T13:00:14.943 に答える
4

Anuragh27cronyの答えを拡張するために、簡単な図を作成しました。

ここに画像の説明を入力してください

これがノード構成の場合、たとえば次の組み合わせで、最大5つのテストを並行して実行できます。

  • 3 *クローム、2*ファイアフォックス
  • 2 *クローム、2 * Firefox、1*エッジ
  • 5*エッジ
  • 3*クローム

次の組み合わせはできません。

  • 4 * chrome(Chrome maxInstancesを超える)
  • 6 *エッジ(maxSessionsを超える)
  • 3 *クローム、3 * Firefox(maxSessionsを超える)

Anuraghが述べたように、MaxInstancesは特定のブラウザーに適用され、MaxSessionsはノード全体に適用されます。

于 2019-07-18T13:22:06.573 に答える
2

デフォルトでノードを構成するのドキュメントに従って、Seleniumグリッドノードを起動すると、11個のブラウザーを同時に使用できます。

  • 5 Firefox
  • 5クローム
  • 1 Internet Explorer

同時テストの最大数は、デフォルトで5に設定されています。このブラウザ設定やその他のブラウザ設定を変更するには、各スイッチにパラメータを渡すことができます-browser(各スイッチはパラメータに基づいてノードを表します)。このパラメーターを使用する-browserと、デフォルトのブラウザーは無視され、コマンドラインで指定したものだけが使用されます。


maxInstances

maxInstancesは、オプションのパラメーターを介して渡すことができる-browserオプションのパラメーターです。

ユースケース1

Firefox version = XYZの20インスタンス用にSeleniumグリッドノードを構成するには、次のソリューションを使用できます。

  • 指示:

    java -Dwebdriver.gecko.driver=geckodriver.exe -jar selenium-server-standalone-3.141.59.jar -role node -hub http://192.168.1.125:4444/grid/register -browser browserName=firefox,version=X.Y.Z,maxInstances=20,platform=WINDOWS
    
  • ノードコンソールログ:

    C:\Utility\SeleniumGrid>java -Dwebdriver.gecko.driver=geckodriver.exe -jar selenium-server-standalone-3.141.59.jar -role node -hub http://192.168.1.125:4444/grid/register -browser browserName=firefox,version=X.Y.Z,maxInstances=20,platform=WINDOWS
    16:54:11.843 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
    16:54:12.003 INFO [GridLauncherV3.lambda$buildLaunchers$7] - Launching a Selenium Grid node on port 6318
    2020-02-14 16:54:12.523:INFO::main: Logging initialized @1022ms to org.seleniumhq.jetty9.util.log.StdErrLog
    16:54:12.860 INFO [WebDriverServlet.<init>] - Initialising WebDriverServlet
    16:54:12.974 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 6318
    16:54:12.974 INFO [GridLauncherV3.lambda$buildLaunchers$7] - Selenium Grid nodeis up and ready to register to the hub
    16:54:13.161 INFO [SelfRegisteringRemote$1.run] - Starting auto registration thread. Will try to register every 5000 ms.
    16:54:13.765 INFO [SelfRegisteringRemote.registerToHub] - Registering the node to the hub: http://192.168.1.125:4444/grid/register
    16:54:13.962 INFO [SelfRegisteringRemote.registerToHub] - The node is registered to the hub and ready to use
    
  • グリッドコンソールスナップショット:

GidNodeFirefox20

ユースケース2

Firefoxバージョン=ABCの10インスタンス とChromeバージョン=XYZの20インスタンス用にSeleniumグリッドノードを構成するには、次のソリューションを使用できます。

  • 指示:

    java -Dwebdriver.gecko.driver=geckodriver.exe -Dwebdriver.chrome.driver=chromedriver.exe -jar selenium-server-standalone-3.141.59.jar -role node -hub http://192.168.1.125:4444/grid/register -browser browserName=firefox,version=X.Y.Z,maxInstances=10,platform=WINDOWS -browser browserName=chrome,version=X.Y.Z,maxInstances=20,platform=WINDOWS
    
  • グリッドコンソールスナップショット:

GidNodeFirefox10Chrome20


-maxSession

-maxSessionは、特定のノードで並行して実行できるブラウジングコンテキストの最大数を構成するためのメインパラメーターとして渡すことができるオプションのパラメーターでもあります。これはmaxInstance、サポートされているブラウザの場合とは異なります(例:FirefoxバージョンABC、FirefoxバージョンPQR、およびChromeバージョンXYZをサポートするノードの場合、maxSession = 1を使用すると、複数のブラウザを実行maxSession=2することはできません。2つのFirefoxテストを実行できます。同時に実行するか、1つのFirefoxと1つのChromeテスト)。

例:

java -Dwebdriver.gecko.driver=geckodriver.exe -Dwebdriver.chrome.driver=chromedriver.exe -jar selenium-server-standalone-3.141.59.jar -role node -hub http://192.168.1.125:4444/grid/register -browser "browserName=firefox,version=A.B.C,maxInstances=10,platform=WINDOWS" -browser "browserName=firefox,version=P.Q.R,maxInstances=10,platform=WINDOWS" -browser "browserName=chrome,version=X.Y.Z,maxInstances=20,platform=WINDOWS" -maxSession 2
  • グリッドコンソールスナップショット:

maxSession

于 2020-02-14T12:54:19.620 に答える
0

MaxInstances:これにより、ノードあたりのスロット数が増えます。たとえば、ノードMaxInstances=5あたり最大5つのブラウザが許可されます。

MaxSession:ノードで同時に実行できるテストの最大量を設定します。の場合MaxInstances=5、MaxSessionも少なくとも5である必要があります。

https://github.com/SeleniumHQ/docker-seleniumで詳細を参照してください

于 2019-03-09T05:43:19.443 に答える