Я знаю, что это самый распространенный вопрос, связанный с Appium, и я попробовал все, что получил в Интернете, чтобы решить мою проблему, но все же это не сработало.
Проблема: у меня есть экран запуска в моем приложении (Собственный вид), после заполнения идентификатора электронной почты он переходит к экрану входа в систему, который находится в веб-представлении.Я приложил скриншот из UIAutomatorViewer для экрана веб-просмотра.
Пользователь кода Java для переключения контекста:
//Get Context
Set<String> contextName = mDriver.getDriver().getContextHandles();
System.out.println(contextName);
for (String contexts : contextName) {
System.out.println(contexts);
if (contextName.contains("NATIVE_APP")) {
System.out.println("Show me:" + contextName);
Thread.sleep(1500);
mDriver.getDriver().context("NATIVE_APP");
//Do Some Action
}
if (contextName.contains("WEBVIEW")) {
mDriver.getDriver().context("WEBVIEW");
//Do Some Action
}
}
Вывод:
[NATIVE_APP]
NATIVE_APP
Show me:[NATIVE_APP]
Консоль Appium:
[W3C (4c9951fd)] Calling AppiumDriver.getContexts() with args:
["4c9951fd-d50c-4c6e-b0a4-f1afe5375af9"]
[AndroidDriver] Getting a list of available webviews
[ADB] Running '/Users/ashish.ranjan/Library/Android/sdk/platform-
tools/adb -P 5037 -s 00a9ee5296dd4b58 shell cat /proc/net/unix'
[AndroidDriver] Found webviews: []
[AndroidDriver] Available contexts: ["NATIVE_APP"]
[W3C (4c9951fd)] Responding to client with driver.getContexts() result:
["NATIVE_APP"]
[HTTP] <-- GET /wd/hub/session/4c9951fd-d50c-4c6e-b0a4-
f1afe5375af9/contexts 200 114 ms - 24
Примечания: Версия Appium 1.11.0 (1.11.0)