Я хочу переключиться с приложения на веб-браузер chrome, а затем вернуться к тому же приложению в appium - PullRequest
0 голосов
/ 26 мая 2020
public class switching {

    @Test
    public void openBrowser() throws MalformedURLException {

        DesiredCapabilities cap = new DesiredCapabilities();

        cap.setCapability("deviceName","One plus 5");
        cap.setCapability("udid", "9a0f2cfd");
        cap.setCapability("platformName", "Android");
        cap.setCapability("platformversion", "9.0.11");
        cap.setCapability("appPackage", "io.appium.android.apis");
        cap.setCapability("appActivity", "io.appium.android.apis.ApiDemos");
        URL url =new URL("http://127.0.0.1:4723/wd/hub");
        AndroidDriver driver= new AndroidDriver(url,cap);
        // after performing actions on app want to navigate to web browser

  }
}

Теперь я хочу перейти в браузер chrome и открыть любой URL-адрес, а затем вернуться к тому же приложению

1 Ответ

0 голосов
/ 26 мая 2020

Есть несколько способов добиться этого:

  • Вы можете использовать driver.activateApp("com.android.chrome"), чтобы открыть Mobile Chrome. Однако в этом случае вам нужно обработать открытие URL-адреса вручную (найдите поле ввода URL-адреса, введите его и т. Д. c.)

  • Вы можете использовать команду adb, чтобы открыть Chrome на определенной странице, например:

public void openChromeNavigatedTo(String URL) throws IOException {
   String command = String.format("adb shell am start -n com.android.chrome/com.google.android.apps.chrome.Main -d '%s'", URL);
   Process process = new ProcessBuilder(command).start();
}

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

После того, как вы закончите, вы можете закрыть Chrome:

public void closeChrome() {
   driver.terminateApp("com.android.chrome");
}

К сожалению, нет гарантии, что после этого ваше основное приложение окажется в фокусе, поэтому вам следует сделать это явно:

public void launchApp() {
   driver.launchApp();
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...