/ / TestNG et Selenium - problèmes d'exécution en parallèle - java, sélénium, sélénium-webdriver, traitement en parallèle, test

TestNG et Selenium - Problèmes d’exécution en parallèle - Java, sélénium, sélénium-webdriver, traitement en parallèle, test

J'ai quelques problèmes avec l'exécution parallèle de tests à l'aide de TestNG + Selenium (Chrome WebDriver). En gros, mes tests ne semblent pas réellement être réellement exécutés en parallèle.

Essayer de réaliser: Données en cours de lecture à partir d'une feuille de calcul Excel. Tous les cas de test de TestSuite.java doivent être exécutés pour chaque ligne de données, dans des instances WebDriver distinctes - fonctionnant en parallèle. Par exemple. test de 5 combinaisons de connexion / mot de passe distinctes simultanément dans des fenêtres de navigateur distinctes.

Illustration simplifiée:

public class TestSuite {
private String param;

@DataProvider
public static Object[][] provider() {
return new Object[][] {{"1"},{"2"}};
}

@Factory(dataProvider = "provider")
public TestSuite(String data) {
this.param = data;
System.out.println(String.format("[Thread: %d] TestSuite (%s)", Thread.currentThread().getId(), param));
// Can"t initialise webdriver instances here, different thread
}

@BeforeClass
public void init() {
System.out.println(String.format("[Thread: %d] BeforeClass (%s)", Thread.currentThread().getId(), param));
// This is where I"m retrieving webdriver instances
}

@Test
public void TC_001() {
System.out.println(String.format("[Thread: %d] TC_001 (%s)", Thread.currentThread().getId(), param));
}

@Test
public void TC_002() {
System.out.println(String.format("[Thread: %d] TC_002 (%s)", Thread.currentThread().getId(), param));
}
}

TestNG.xml:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite" parallel="instances" group-by-instances="true">
<test name="Test">
<classes>
<class name="TestSuite" />
</classes>
</test>
</suite>

Sortie:

[Thread: 1] TestSuite (1)
[Thread: 1] TestSuite (2)
[Thread: 11] BeforeClass (1)
[Thread: 11] TC_001 (1)
[Thread: 11] TC_002 (1)
[Thread: 12] BeforeClass (2)
[Thread: 12] TC_001 (2)
[Thread: 12] TC_002 (2)

Le principal problème ici est que mes tests sont clairementen cours d'exécution SÉQUENTIELLEMENT. Quelqu'un peut-il expliquer ce que j'ai mal fait - quelle est la bonne approche pour atteindre le résultat souhaité que j'ai expliqué ci-dessus?

Réponses:

0 pour la réponse № 1

faire en parallèle comme méthodes dans TestNG.xml comme ci-dessous

suite nom = "suite" parallel = "méthodes" group-by-instances = "true"