2016-12-19 3 views
0

Я хочу переключиться на другое приложение B, пока я нахожусь на тестовом сеансе моего приложения «origin» A. Целью является передача данных из приложения B в приложение A.Переключение на другое приложение во время сеанса appium

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

Есть ли у кого-нибудь какие-либо рекомендации по достижению переключения? Я работаю над mac btw. Спасибо заранее!

ответ

0

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

Если вам нужно отдельно открыть приложение, вы можете повторно инициализировать драйвер, выполнив quit() и создав новое после.

mobileDriver.quit() 
mobileDriver = new IOSDriver(url, capabilities) 
+0

так Я могу создать новый экземпляр драйвера с различными возможностями, чем в графическом интерфейсе appium? – Phil24

+0

Я использую это, чтобы заново запустить одно приложение, но я думаю, что можно запустить другой, только с нужными возможностями, которые вы предоставляете. –

+0

В моем случае он не работает, когда я, например, предоставляю другой файл .apk – Phil24

0

Если вы автоматизируете тесты на Android, это легко. Просто автоматизировать шаги, если вы являетесь пользователем

  • Нажмите кнопку Home, вы можете сделать это с помощью Appium, но я рекомендую позвонить ADB через код, например adb shell input keyevent KEYCODE_HOME
  • Открыть приложения меню и приложение B с помощью локаторов

Или вы можете просто начать приложение B с помощью ADB, например, для запуска Chrome adb shell am start com.android.chrome

0

См этот пример кода:

public class Switch_activity { 

public static void main(String[] args) throws IOException, InterruptedException { 
    // TODO Auto-generated method stub 

    String Start_Server="D:\\Appium\\node.exe D:\\Appium\\node_modules\\appium\\bin\\appium.js"; 

    Process process = Runtime.getRuntime().exec(Start_Server); 

    if(process!=null) 
    { 
     System.out.println("Appium Server is Started"); 
    } 
    else 
    { 
     System.out.println("NOT able to Start the Server"); 
    } 

    Thread.sleep(12000); 

    //Launch app 
      DesiredCapabilities capabilities= new DesiredCapabilities(); 

      //device details 
      capabilities.setCapability("deviceName", "GT-I9300I"); 
      capabilities.setCapability("platformName", "Android"); 
      capabilities.setCapability("platformVersion", "4.4.4"); 

      //app details 
      capabilities.setCapability("appPackage", "com.olacabs.customer"); 
      capabilities.setCapability("appActivity", "com.olacabs.customer.ui.SplashActivity"); 

      //appium server details 
      AndroidDriver driver= new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 

      Thread.sleep(8000); 

      driver.findElementById("android:id/button1").click(); 
      //wait 
      WebDriverWait wait= new WebDriverWait(driver, 35); 
      WebElement until = wait.until(ExpectedConditions.presenceOfElementLocated(By.id("com.olacabs.customer:id/button_ride_now"))); 
      System.out.println(until.isDisplayed()); 

      driver.findElementById("com.olacabs.customer:id/button_ride_now").click(); 
      Thread.sleep(4000); 

      String text = driver.findElementById("com.olacabs.customer:id/button_ride_conform").getText(); 
      System.out.println(text); 
      Thread.sleep(4000); 

      driver.sendKeyEvent(AndroidKeyCode.BACK); 
      //****************************************************** 
      Thread.sleep(8000); 
      //Message app 


      Thread.sleep(8000); 
      //Try in this way 
      driver.startActivity("com.flipkart.android", "com.flipkart.android.activity.HomeFragmentHolderActivity"); 

      WebDriverWait wait3= new WebDriverWait(driver, 35); 
      WebElement until3 = wait3.until(ExpectedConditions.presenceOfElementLocated(By.id("com.flipkart.android:id/search_widget_textbox"))); 
      System.out.println(until3.isDisplayed()); 

      driver.findElementById("com.flipkart.android:id/search_widget_textbox").click(); 
      Thread.sleep(4000); 





      if(process!=null) 
      { 
       Thread.sleep(4000); 

       process.destroy();      
       System.out.println("Appium Server is Stopped"); 


      } 



     } 

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