2016-04-30 8 views
1

Я новичок в java. Пожалуйста помоги. У меня было требование, когда мне нужно выполнить такой же сценарий тестирования на нескольких устройствах в java. Также в заявлении говорится, что мой код не должен выполняться только в одном режиме, он должен инициировать один и тот же сценарий на нескольких устройствах одновременно.Параллельное выполнение в нескольких устройствах с использованием концепции потоков java

Можно ли выполнить за один раз.

Примечание: Я подключил 3 устройства одновременно. Но он выполняет тот же сценарий один за другим устройством.

Я uasing appium сервер и TestNG

Пожалуйста, помогите .. Спасибо заранее.

ответ

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

пожалуйста, дайте мне знать, если это поможет вам – suulisin

+0

Это помогает только для выполнения на одном устройстве .. но мне нужно выполнить на нескольких устройствах – user6162630

+0

Я отвечаю на ур. .. сервер был запущен только один раз .. это нормально .. Я смущен, потому что до сих пор Я думал, нам нужно запустить несколько серверов для каждого устройства. – 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

Да, я могу понять, что этот код на сервере, начиная, но теперь мне нужен пример кода о том, как выполнить тот же сценарий тест нескольких устройств все в то время .. пожалуйста, помогите – user6162630