无法在Android 7上使用Appium for Cordova混合应用程序切换上下文

时间:2017-11-16 07:48:27

标签: cordova appium android-7.0-nougat hybrid

[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");
        }
    } 

2 个答案:

答案 0 :(得分:0)

没有看到appium服务器日志就没什么可说的。

当您遇到此类问题(停止使用新的操作系统版本更新,新的Appium服务器版本等)时,我建议打印driver.getContextHandles()的输出并查看您获得的内容。

它不是Appium + Cordova的第一个问题,也不能用于切换上下文。如果您发现自己没有NAVIVE_APP上下文,那么最好向appium server project报告问题

答案 1 :(得分:0)

从web-view切换后,我按照以下的说法将应用程序保留在后台一段时间,然后继续执行:

driver.runAppInBackground(Duration.ofSeconds(1)); 

现在解决了将上下文视图从Web视图切换到本机视图时遇到的问题。

请建议有人采用更好的方法。