首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相对于cordova应用程序而言,"autoWebView“APPIUM功能是否保证了多个app视图中正确的WEB_VIEW?

相对于cordova应用程序而言,"autoWebView“APPIUM功能是否保证了多个app视图中正确的WEB_VIEW?
EN

Stack Overflow用户
提问于 2017-11-07 13:27:57
回答 2查看 843关注 0票数 0

我正在使用Appium-Java自动化一个iOS应用程序。

在appium文档中提到- "autoWebView“APPIUM功能应该用于基于Cordova的应用程序。

在我们的例子中,当用户继续在屏幕上导航时,应用程序继续堆叠多个WebViews。在这种情况下,通常我有一个本地视图& 3-4 WebViews。因此,如果我设置了autoWebView,它会保证-它总是指向正确的webview (即webview,其中包含当前页面的HTML )。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-30 10:05:30

对于我们独特的需求(基于Cordova的混合应用程序创建多个our视图),我创建了一个可重用的函数来指向预期的WebView:

代码语言:javascript
复制
 public boolean switchToMeaningfulWEBVIEWUsingPageTitle(final String title) {
    Set<String> contextNames = appiumDriver.getContextHandles();
    List<MobileElement> elements = null;

    String defaultContext = appiumDriver.getContext();

    for (String contextName : contextNames) {
            System.err.println("\n ** DEBUG: contextName = "+contextName);
        appiumDriver.context(contextName);
        appiumDriver.manage().timeouts().implicitlyWait(6, TimeUnit.SECONDS);
        if (contextName.contains("WEBVIEW")) {
            String metaTitle = appiumDriver.getTitle();
            if (metaTitle.equalsIgnoreCase(title)) {
                if(appiumDriver.getPageSource().trim().contains("<body></body></html>")) {
                    continue;
                }else{
                    return true;
                }
            }
        }
    }
   appiumDriver.context(defaultContext);
    return false;
}

基本上,当我们对最新页面的WebView进行了一些操作时,我们会从webviews堆栈切换到相关的webView。Html标题被用作引用,因为我们试图保持它的惟一性,但是其他的东西也可以用于唯一的引用。谢谢

票数 0
EN

Stack Overflow用户

发布于 2017-11-15 08:54:30

希望你正在使用ios_webkit_debug_proxy来处理内置在ios本地应用程序中的webview。当应用程序页面发生变化时,也可以相应地在脚本中切换上下文(“本地”或"WEBVIEW")。

看一下这个链接https://github.com/google/ios-webkit-debug-proxy

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47159197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档