Je me demandais si quelqu'un pouvait faire la lumière sur une question Selenium
qui nous a un peu égratigné la tête.
Nous sommes confus quant à la signification de MaxSession
et MaxInstances
de Selenium Grid. Nous pensons que le MaxSession
est le nombre total de sessions de test qui peuvent s'exécuter sur un seul nœud. Et nous pensons également que le MaxInstances
est le nombre total de navigateurs qu'un test peut ouvrir.
Ou est MaxInstances
le nombre total de navigateurs disponibles pour le nœud?
La commande que nous utilisons est:
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"
Nous pensons que la façon dont nous utilisons notre nœud (ci-dessus) est de 5 sessions de test simultanées par défaut.
Chaque test dispose-t-il de 20 navigateurs?
Ou chaque session de test partage-t-elle les 20 navigateurs (10 chrome/10 FF) dans un pool - avec les autres sessions de test?
Belle question .... je dirais que c'est un peu déroutant .... Mais j'essaierai d'y répondre en termes simples ..
MaxInstances Cela indique .... combien d'instances de la même version du navigateur peuvent s'exécuter sur le système distant.
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
Je peux donc exécuter 5 instances de Firefox 12 et 5 instances d'IE9 en même temps sur une machine distante. Ainsi, l'utilisateur total peut exécuter 10 instances de différents navigateurs (FF12 et IE9) en parallèle.
MaxSession Cela dit .... combien de navigateurs ( N'importe quel navigateur et n'importe quelle version) peut fonctionner en parallèle à la fois dans le système distant. Cela remplace donc les paramètres Max Instances et peut limiter le nombre d'instances de navigateur pouvant s'exécuter en parallèle.
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).
Indépendamment des MaxInstances que vous avez définies.
Pour des informations plus claires, visitez - https://seleniumhq.github.io/docs/grid.html
MaxInstances
: cela vous donne plus d'emplacements par nœud, par exemple, MaxInstances=5
autorisera un maximum de 5 navigateurs par nœud
MaxSession
: définit le nombre maximum de tests pouvant s'exécuter en même temps dans un nœud. si MaxInstances=5
, alors MaxSession doit également être au moins égal à 5.
voir plus sur https://github.com/SeleniumHQ/docker-Selenium
Pour développer réponse d'Anuragh27crony , j'ai établi un schéma rapide:
S'il s'agit de votre configuration de nœud, vous pouvez exécuter au plus 5 tests en parallèle, par exemple dans les combinaisons suivantes:
Les combinaisons suivantes ne sont PAS possibles:
Comme mentionné par Anuragh, MaxInstances s'applique à un navigateur spécifique, tandis que MaxSessions s'applique à l'ensemble du nœud.