Vous devez déclencher 5 tests simultanément - tous pointant vers le même hub, pour utiliser tous les navigateurs. En recevant les commandes des différents tests, le hub transmettra ces commandes aux RCs correspondant à la capacité. Vous pouvez voir plus de détails dans cette page : http://selenium-grid.seleniumhq.org/how_it_works.html .
Par ce site:-
Bien sûr, pour tirer réellement parti de la grille Selenium, vous devez exécuter vos tests en parallèle. Si vous écrivez vos tests Selenium en Java, vous pouvez tirer parti des exécutions parallèles de TestNG ou de JUnit parallèle. Si vous préférez écrire vos tests Selenium en Ruby, vous pouvez vous intéresser à DeepTest ou spawn plusieurs processus. Il y a de fortes chances que votre langage de programmation et votre plate-forme de développement préférés ont déjà une solution.
EDIT : Le site donné ci-dessus était pour la version Selenium 1.x et non pour Grid 2.0. Cependant, le concept sous-jacent pour exécuter des tests parallèles reste le même.
EDIT2 : Les étapes et les programmes d'exemple sont ci-dessous. Veuillez noter qu'il s'agit d'un test très basique UNIQUEMENT pour vous montrer comment Grid exécute des tests en parallèle.
Étape 1 - Démarrer Grid Hub java -jar selenium-server-standalone.jar -role hub
Étape 2 - Démarrer les nœuds RC. Les tests que nous utilisons par exemple sont des tests webdriver. Nous devons donc démarrer les nœuds webdriver. Cette commande va démarrer un nœud webdriver qui supporte 5 navigateurs firefox, 5 googlechrome et 1 navigateur IE. Ceci est la configuration par défaut de webdriver.
java -jar selenium-server-standalone.jar -role wd -hub http://localhost:4444/grid/register
Étape 3 - Créez 5 programmes distincts semblables à celui donné ci-dessous. Ce programme est en JAVA. Vous devez le changer pour le langage dont vous avez besoin. Changez le nom de la classe en Programme2, Programme3, etc. Comme mentionné précédemment, ce n'est pas la meilleure façon d'exécuter des tests en parallèle. Vous devez utiliser testNG ou jUnit pour déclencher plusieurs tests en même temps. Comme il s'agit d'un sujet différent en soi, je ne vais pas l'expliquer ici.
public class Program1{
public static void main(String args[]){
WebDriver wd;
//Assign a remotewebdriver object to webdriver with firefox capability
wd=new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"),DesiredCapabilities.firefox());
wd.get("http://www.google.com");
//Sleep for 2 seconds so that RC will not be released. This is to demonstrate Hub using multiple RCs
Thread.sleep(120000);
//Close webdriver
wd.quit();
}
}
Étape 4 - Exécutez les 5 programmes simultanément.
Étape 5 - Regardez la grille faire la magie d'exécuter 5 tests en parallèle :)