2010-01-07 4 views
1

J'utilise Selenium Grid avec TestNG pour tester un site Web. Le code de test que j'ai exporté de l'IDE Selenium fonctionne bien. Mon problème est que les tests sont séquentiels, pas parallèles.TestNG + Selenium Grid, un seul RC en cours d'exécution,

Voici le code:

public class test{ 

    @BeforeMethod 
    public void startSession() 
    { 
     ThreadSafeSeleniumSessionStorage.startSeleniumSession("localhost",4444,"*firefox","url"); 
    } 

    @AfterMethod(alwaysRun = true) 
    public void closeSession() throws Exception 
    { 
     ThreadSafeSeleniumSessionStorage.closeSeleniumSession(); 
    } 

    @DataProvider(name = "test") 
    public Object[][] test() 
    { 
     return new Object[][]{ 
     {test1,null}, 
     {test2,null}, 
     }; 
} 

@Test(dataProvider = "test") 
void testen(String value1, String value2) throws Exception 
    { 
    ThreadSafeSeleniumSessionStorage.session().open("url"); 
    . 
    . 
    . 
    . 
    . 
    ThreadSafeSeleniumSessionStorage.session().waitForPageToLoad("30000"); 
    } 

} 

Mon testng.xml ressemble à ceci:

Suite thread-count = "5" skipfailedinvocationCounts = "false" verbose = "1" name = "Commande suite de ligne "junit =" false "parallel =" méthodes "annotations =" ​​JDK "

Qu'est-ce que je fais mal? Le test ne fonctionne que sur un RC Selenium, bien que plus d'un soit démarré.

J'espère que quelqu'un peut m'aider, c'est vraiment important.

Merci!

Répondre

1

Mettez à niveau vers TestNG 5.11, qui implémente des fournisseurs de données parallèles. Les versions précédentes toujours invoqué tous les appels de fournisseur de données dans le même fil ...

- Cedric