2

Hallo ich einen Selen-Test habe läuft.Um parallel (25)Nicht in der Lage mehr als 10 Tests parallel über 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(); 
    } 

Meine Datenanbieter

@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]"; 

und meine xml laufen Datei ist

Jetzt, wenn ich meinen oben genannten Test laufe, laufen 10 Tests auf einmal und nachdem der 10. Test dann als nächstes 1 fertig ist 0 beginnt die Ausführung, die um 5 folgte aber ich will meinen Test laufen, wo 25 bei der Ausführung einmal Referenz

gerade beginnen soll ich einen Screenshot von meinen EC2-Instanzen bin hinzufügen. Es gibt 25 chrome, up und running auch bitte einen Mauszeiger über Chrome Browser enter image description here

+0

wo führen Sie Ihre Tests lokal oder in einem Raster aus? – Paras

+0

auf einem Raster. Wir haben Einkäufe amazon EC2-Instanz für unseren Test –

+0

können Sie überprüfen, wie viele Knoten auf dem Grid-Rechner und ihre max Instanzen eingerichtet sind? – Paras

Antwort

1

Hallo wir haben einen Weg gefunden, durch die wir in der Lage waren, unsere 25 Test parallel laufen lassen ** Aber ich nicht denke, das ist eine Standardmethode, dies zu tun **. Bitte geben Sie Ihr Feedback oder eine bessere Möglichkeit, das obige Szenario zu tun.

Lösung Statt Datenformulardaten Anbieter verwenden, haben wir Datenanbieter vollständig entfernt und stattdessen rufen wir Parameter bilden testng.xml Datei als Parameter von

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

mit und jetzt kann ich meine 25 Knoten aktiv sehen zur gleichen Zeit und führen Sie alle Aktionen erfolgreich durch.

Verwandte Themen