2017-09-18 2 views
0

J'ai un ensemble de peut-être 500 tests de sélénium en utilisant le framework TestNG. De temps à autre, un test particulier peut être suspendu sans raison apparente (see my last question), ce qui empêchera les tests de se poursuivre.TestNG - exécute la méthode ou échoue si les tests prennent trop de temps?

Si je ferme manuellement le navigateur, alors ce test échouera et les tests reprendront. J'ai un moyen de redémarrer le navigateur si une telle instance se produit, mais j'ai besoin d'un moyen pour mon code de savoir si cela arrive. Ma meilleure estimation serait une minuterie où si un test particulier prend plus de 15 minutes à s'exécuter je peux simplement tuer le navigateur, mais je ne peux pas trouver un moyen de surveiller en permanence chaque test de ce déclencheur.

Répondre

1

Vous pouvez utiliser l'annotation timeOut, voir tutorial, par exemple:

@Test(timeOut = 2000) 
+0

Il n'y a aucun moyen, il est aussi simple que cela .... va mettre en œuvre ce qui se passe voir ce. Merci! – kroe761

+0

Malheureusement, lorsqu'il est utilisé avec un 'retryanalyzer', il semble que cela cause plus de problèmes qu'il ne résout. J'ai posé une nouvelle question. Êtes-vous familier avec la façon de faire jouer ces deux fonctions TestNG ensemble? – kroe761