[Appium 1.7.1] [Android 7.0] [Java] [混合应用程序] [Cordova] 我尝试使用以下逻辑切换上下文,它正在使用另一个Android操作系统,如5.1.1,但它对Android 7.0没用。在webview上下文后,我无法专注于本机应用程序。
Set<String> availableContexts = driver.getContextHandles();
// switch to Web-view
for(String context : availableContexts) {
if(context.contains("WEBVIEW")){
logger.info("Context Name is " + context);
driver.context(context);
break;
}
}
// switch to Native app
for(String context : availableContexts) {
if(context.contains("NATIVE")){
logger.info("We are Back to " + context);
driver.context(context);
logger.info("Context Switched");
}
}
答案 0 :(得分:0)
没有看到appium服务器日志就没什么可说的。
当您遇到此类问题(停止使用新的操作系统版本更新,新的Appium服务器版本等)时,我建议打印driver.getContextHandles()
的输出并查看您获得的内容。
它不是Appium + Cordova的第一个问题,也不能用于切换上下文。如果您发现自己没有NAVIVE_APP
上下文,那么最好向appium server project报告问题
答案 1 :(得分:0)
从web-view切换后,我按照以下的说法将应用程序保留在后台一段时间,然后继续执行:
driver.runAppInBackground(Duration.ofSeconds(1));
现在解决了将上下文视图从Web视图切换到本机视图时遇到的问题。
请建议有人采用更好的方法。