Вопрос

Я использую Selenium Grid с TestNG для тестирования веб-сайта.Тестовый код, который я экспортировал из Selenium IDE, работает нормально.Моя проблема в том, что тесты выполняются последовательно, а не параллельно.

Вот этот код:

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");
    }

}

Мой testng.xml выглядит вот так:

набор thread-count="5" skipfailedinvocationCounts="false" verbose="1" name="Набор командной строки" junit="false" parallel="методы" annotations="JDK"

Что я делаю не так?Тест выполняется только на одном Selenium RC, хотя запущено более одного.

Я надеюсь, что кто-нибудь сможет мне помочь, это действительно важно.

Спасибо!

Это было полезно?

Решение

Обновитесь до TestNG 5.11, в котором реализованы параллельные поставщики данных.Предыдущие версии всегда вызывали все вызовы поставщика данных в одном потоке...

-- Седрик

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top