2

Привет я разработал тест селена для запуска параллельно (25)не в состоянии работать более 10 тестов параллельно с помощью TestNG DataProvider

@Test(dataProvider = "getData") 
public void multiUserTest(String url, String username, String password) 
     throws InterruptedException, IOException, FindFailed { 

    DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
    capabilities.setBrowserName(prop.getProperty("browserName")); 
    capabilities.setPlatform(Platform.WINDOWS); 
    RemoteWebDriver driver = new RemoteWebDriver(new URL(prop.getProperty("url")), capabilities); 

    WebDriverWait wait = new WebDriverWait(driver, 720); // 12 minutes wait. 
    driver.manage().window().maximize(); 
    driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS); 

    try { 
     driver.get(url); 
     driver.findElement(By.xpath(prop.getProperty("username"))).sendKeys(username); 
     driver.findElement(By.xpath(prop.getProperty("password"))).sendKeys(password); 
     driver.findElement(By.xpath(prop.getProperty("signin"))).click(); 
     }catch (Exception e) { 
     e.printStackTrace(); 
    } 

Мой поставщик данных

@DataProvider(parallel = true) 
public Object[][] getData() { 

    Object data[][] = new Object[25][3]; 
    // row 1 
    data[0][0] = "http:XXXX/login.html"; 
    data[0][1] = "[email protected]"; 
    data[0][2] = "[email protected]"; 

    // row 2 
    data[1][0] = "http:XXXX/login.html"; 
    data[1][1] = "[email protected]"; 
    data[1][2] = "[email protected]"; 
    .......... 


    // row 25 
    data[24][0] = "http:XXXX/login.html"; 
    data[24][1] = "[email protected]"; 
    data[24][2] = "[email protected]"; 

и мой XML file is

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Suite" parallel="methods" thread-count="1" data-provider-thread-count="25"> 
    <test name="Test"> 
    <classes> 
     <class name="XXX.MultiUserGuiTest"/> 
    </classes> 
    </test> <!-- Test --> 
</suite> <!-- Suite --> 

Теперь, когда я запускаю свой выше тест, он запускает 10 тестов за один раз и после завершения 10-го теста, затем следующий 1 0 начинает выполнение которой следует 5, но я хочу, чтобы запустить мой тест, где 25 должен начать выполнение сразу

Просто для справки я добавить скриншот моих экземпляров EC2. Есть 25 хром, вверх и бег также, пожалуйста, посмотрите на наведение мыши над браузером хрома enter image description here

+0

где вы проводите тесты локально или на сетке? – Paras

+0

на сетке. У нас есть покупки экземпляра Amazon EC2 для нашего теста –

+0

вы можете проверить, сколько узлов установлено на машине сетки и их максимальных экземплярах? – Paras

ответ

1

Привет, мы выяснили, как мы могли параллельно проходить 25 тестов ** Но я не подумайте, что это стандартный способ сделать это **. Пожалуйста, предоставьте свои отзывы или лучший способ сделать это.

Решения Вместо использования поставщика данных формы данные, которые мы удалили поставщик полностью данных, а вместо этого мы вызываем параметры образуют testng.xml файла в качестве параметров с помощью

@Parameters({"param 1","param 2","param 3","and so on"}) in our test 

и теперь я могу видеть, как мои 25 узлов активны в то же время и выполнить все действия успешно.

 Смежные вопросы

  • Нет связанных вопросов^_^