Définir la priorité dans TestNG

Dans le domaine de l’automatisation, nous sommes souvent amenés à configurer notre plateforme de test pour qu’elle exécute les méthodes de test dans un certain ordre, ou pour qu’elle donne la priorité à certaines méthodes de test plutôt qu’à d’autres.
TestNG nous permet d’aborder de tels scénarios en fournissant un attribut de priorité dans l’annotation @Test. En définissant la valeur de cet attribut de priorité, nous pouvons trier les méthodes de test en fonction de nos besoins.
Table des matières
Paramètre de priorité
Nous pouvons attribuer une valeur de priorité à une méthode de test de la manière suivante :
@Test(priority=1)
Priorité par défaut
La priorité par défaut de la méthode Test, si elle n’est pas spécifiée, est une valeur entière de 0. Ainsi, si nous avons un cas de test avec une valeur de priorité de 1 et un autre sans valeur de priorité, le test sans valeur de priorité sera exécuté en premier (puisque la valeur par défaut sera 0 et que les tests avec une priorité inférieure seront exécutés en premier).
Extrait de code
@Test(priority = 1)
public void testMethodA() {
System.out.println("Executing - testMethodA");
}
@Test
public void testMethodB() {
System.out.println("Executing - testMethodB");
}
@Test(priority = 2)
public void testMethodC() {
System.out.println("Executing - testMethodC");
}
Récupéré de
Exécution – testMethodB
Exécution – testMethodA
Exécution – testMethodC
Nous voyons ici que la méthode de test B a été exécutée en premier parce qu’elle avait une priorité par défaut de 0. Les autres tests étant de priorité 1 et 2, l’ordre d’exécution était testMethodB, puis testMethodA et enfin testMethodC.
Priorité négative
Si nous voulons attribuer à une méthode de test une priorité plus élevée que la priorité par défaut, il suffit d’attribuer une valeur négative à l’attribut priority de cette méthode de test.
@Test(priority = -1)
public void testMethod() {
System.out.println("Priority higher than default");
}