2016-04-30 4 views
1

Ich bin neu in Java. Bitte helfen Sie. Ich hatte eine Anforderung, wo ich dasselbe Testszenario in mehreren Geräten in Java ausführen muss. Auch die Anforderung besagt, dass mein Code nicht in einem einzigen Devicle ausgeführt werden sollte, es sollte das gleiche Szenario in mehreren Geräten gleichzeitig initiieren.Parallele Ausführung in mehreren Geräten mit Thread-Konzept Java

Ist es möglich, gleichzeitig auszuführen?

Hinweis: Ich habe 3 Geräte gleichzeitig angeschlossen. Aber es führt dasselbe Szenario eins nach anderem Gerät aus.

Ich bin uasing appium Server und testng

Bitte helfen .. Vielen Dank im Voraus.

Antwort

0
public class Test{ 

    WebDriver driver = null; 
    int timeOut=180; 
    int port=-1; 

    Test(int port){ 
     this.port=port; 
    } 

    public void testEmulator(int p) throws Exception { 
     DesiredCapabilities capabilities = new DesiredCapabilities(); 
     capabilities.setCapability(CapabilityType.BROWSER_NAME, "Android"); 
     capabilities.setCapability(CapabilityType.VERSION, "4.3"); 
     capabilities.setCapability(CapabilityType.PLATFORM, "Windows"); 

     capabilities.setCapability("udid","emulator-"+p); 

     capabilities.setCapability("app-package", "your.app.pkg"); 
     capabilities.setCapability("app-activity", 
      "your.app.pkg.Activity"); 
     driver = new RemoteWebDriver(new URL("http://127.0.0.1:"+this.port+"/wd/hub"), 
     capabilities); 
     driver.manage().timeouts().implicitlyWait(timeOut, TimeUnit.SECONDS); 
     Thread.sleep(50000); 
    } 

    public void tearDown() { 
     if (driver != null) 
      driver.quit(); 
    } 

    public void runTest() { 
     try { 
      testEmulator(5554);  // for emulator on port 5554 
      tearDown(); 
      testEmulator(5556);  // for emulator on port 5556 
      tearDown(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 

    public static void main(String[] args) { 
     new Test(4723).runTest();  // appium server port 4723 
    } 
} 
+0

bitte lasst mich dir helfen weiß wenn es dir hilft – suulisin

+0

Es hilft nur für die Ausführung in einem Gerät .. aber ich muss in mehreren Geräten ausführen – user6162630

+0

Ich gor ur Antwort .. aber der Server wurde nur einmal gestartet .. ist das ok .. Ich bin verwirrt, weil bis jetzt Ich dachte, wir müssen mehrere Server für jedes Gerät ausführen. – user6162630

-1
public void startAppium() { 
    //start appium instance 
    try { 
     Thread.sleep((long)(Math.random() * 10000)); //wait from 0 to 10 sec for parallel process run 
     ProcessBuilder builder = new ProcessBuilder(getCmd()); 
     builder.redirectOutput("path to log file"); //here you can find logs of appium 
     builder.redirectErrorStream(true); 
     appium = builder.start(); 
     Thread.sleep(3000); //wait 3 sec until server started 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
+0

Ich kann ja verstehen, dass dieser Code für Server beginnen, aber jetzt brauche ich einen Beispielcode, wie gleiches Testszenario in mehreren Geräten alle zu einem Zeitpunkt auszuführen .. bitte – user6162630

Verwandte Themen