7
votes

Où puis-je trouver un schéma ou une documentation pour la configuration SE 2 Grid Hub Configuration JSON?

J'ai un hub de 2 grille SE fonctionnant. Où puis-je trouver la documentation pour les effets et le schéma du paramètre -hubconfig? Actuellement, mon hub de grille indique: "mis à jour avec Grid2 config: aucun fichier de configuration de moyeu spécifié. Pour spécifier -hubconfig xxx.json.json où xxx.json est un fichier de configuration hub". Je peux utiliser le hub sans cela configuré.

J'ai trouvé des exemples dans des blogs et des problèmes, mais aucune documentation claire.

Blogs: http://opensourceter.co.uk/2011 / 07/06 / selenium-grille-2 /

Problèmes: http://code.google.com/p/ sélénium / questions / détails? id = 2399


0 commentaires

3 Réponses :


11
votes

J'ai trouvé un bon point de départ est en train de regarder Exemples dans la base de code SELENIUM 2 .

Voici un exemple de fichier hub (supposons que nous nommons le fichier JSON HUB.JSON):

Utilisation: Java -Jar Selenium-Server-Server-Server-Standalone-2.6.0.jar -role hub -hubconfig hub.json xxx

ici Un exemple de fichier de nœud (supposez que le fichier est nommé rc.json):

Utilisation: Java -Jar Selenium-Server-Server-Server-Standalone-2.6.0.jar -role RC -NODECONFIG RC.JSON xxx

Vous pouvez créer un format similaire pour le rôle "WD" s'il est nécessaire d'avoir une configuration différente.


2 commentaires

Merci pour cet exemple, lorsque j'utilise cette configuration (même après avoir peaufiné des hôtes et des ports), mon RC est juste bloqué sur Info - Vérification des alias de ressources. Des idées pourquoi?


SELENIUM a mis à jour sa documentation: NODE CONFIGNEZ , Hub Config



0
votes

Les documents Wiki sont clairsemés, mais il y a beaucoup de commentaires utiles dans la source. gridhubconfiguration.java est où vous devriez commencer. Voici un échantillon: xxx pré>

i em> cherchait ce que le délai d'expiration code> config signifiait, trouvé ici p>

  /**
   * how many ms can a session be idle before being considered timed out. Working together with
   * cleanup cycle. Worst case scenario, a session can be idle for timeout + cleanup cycle before the
   * timeout is detected.
   */
  public static final JsonKey CLIENT_TIMEOUT = JsonKey.key("timeout");


0 commentaires

3
votes

Les javadocs et diverses source CODE Les fichiers sont utiles dans une certaine mesure, mais le wiki n'est pas très utile et les différents exemples de configuration semblent incompatibles jusqu'à ce que vous puissiez entrer dans le code. Par exemple, DEFAULTHUB.JSON Spécifie "Timeout": 300000 Code> qui mène à un délai d'attente est dans MS, mais si vous examinez des exemples de ligne de commande, vous verrez que le délai d'attente est spécifié en secondes. Si vous regardez le code, vous verrez que, en effet, le schéma de configuration JSON prend le délai d'attente (et toutes les autres valeurs de temps) dans la SEP, mais tous les autres schémas de configuration prennent le délai d'attente (et d'autres valeurs de temps) en secondes.

La documentation la plus lisible et la plus concise que j'ai trouvée pour les options de moyeu et de nœud est dans une ancienne copie de Gridparameters.properties (qui ne semble plus exister), mais gardez à l'esprit que toutes les valeurs de temps Dans un fichier de configuration JSON figure dans MS EM>: P>

role = <hub|node> (default is no grid, just run an RC/webdriver server). When launching a node, the parameters will be forwarded to the server on the node, so you can use something like -role node -trustAllSSLCertificates.  In that case, the SeleniumServer will be launch with the trustallSSLCertificates option.

# hub config
host = (hub & node)  <IP | hostname> : usually not needed and determined automatically. For exotic network configuration, network with VPN, specifying the host might be necessary.
port = (hub & node) <xxxx> : the port the remote/hub will listen on. Default to 4444.


throwOnCapabilityNotPresent = (hub) <true | false> default to true. If true, the hub will reject test requests right away if no proxy is currently registered that can host that capability.Set it to false to have the request queued until a node supporting the capability is added to the grid.
newSessionWaitTimeout = (hub) <XXXX>. Default to no timeout ( -1 ) the time in ms after which a new test waiting for a node to become available will time out.When that happens, the test will throw an exception before starting a browser.

capabilityMatcher = (hub) a class implementing the CapabilityMatcher interface. Defaults to org.openqa.grid.internal.utils.DefaultCapabilityMatcher. Specify the logic the hub will follow to define if a request can be assigned to a node.Change this class if you want to have the matching process use regular expression instead of exact match for the version of the browser for instance. All the nodes of a grid instance will use the same matcher, defined by the registry.
prioritizer = (hub) a class implementing the Prioritizer interface. Default to null ( no priority = FIFO ).Specify a custom prioritizer if you need the grid to process the tests from the CI, or the IE tests first for instance.
servlets = (hub & node) <com.mycompany.MyServlet,com.mycompany.MyServlet2> to register a new servlet on the hub/node. The servlet will accessible under the path  /grid/admin/MyServlet /grid/admin/MyServlet2


grid1Yml = (hub) a YML file following grid1 format.
hubConfig = (hub) a JSON file following grid2 format that defines the hub properties.
nodeConfig = (node) a JSON file following grid2 format that defines the node properties.


# config that will be inherited by the proxy and used for the node management.
cleanupCycle = (node) <XXXX> in ms. How often a proxy will check for timed out thread.
timeout = (node) <XXXX>  the timeout in seconds before the hub automatically ends a test that hasn't had any activity in the last X seconds. The browser will be released for another test to use. This typically takes care of the client crashes.
browserTimeout= (hub/node) The timeout in seconds a browser can hang
hub = (node) <http://localhost:4444/grid/register> : the url that will be used to post the registration request. This option takes precedence over -hubHost and -hubPort options.
hubHost = (node) <IP | hostname> : the host address of a hub the registration request should be sent to. Default to localhost. Option -hub takes precedence over this option.
hubPort = (node) <xxxx> : the port listened by a hub the registration request should be sent to. Default to 4444. Option -hub takes precedence over this option.
proxy = (node) the class that will be used to represent the node. By default org.openqa.grid.selenium.proxy.DefaultRemoteProxy.
maxSession = (node) max number of tests that can run at the same time on the node, independently of the browser used.
registerCycle = (node) how often in ms the node will try to register itself again.Allow to restart the hub without having to restart the nodes.
nodePolling = (node) in ms. Interval between alive checks of node how often the hub checks if the node is still alive.
unregisterIfStillDownAfter = (node) in ms. If the node remains down for more than unregisterIfStillDownAfter millisec, it will disappear from the hub.Default is 1min. 
downPollingLimit = (node) node is marked as down after downPollingLimit alive checks.
nodeStatusCheckTimeout = (node) in ms. Connection and socket timeout which is used for node alive check.


1 commentaires

Malheureusement, le lien vers les gridparameterers.properties ne fonctionne plus et de parcourir leur nouveau repo Github a été infructueux. Mais votre texte collé ci-dessus est très utilisé. Merci!