我是靠谱客的博主 任性紫菜,最近开发中收集的这篇文章主要介绍Appium自动化测试------app与webview切换访问1、手机中存在H5页面,如下图2、通过命令:print driver.contexts,查看到页面中存在一个list:3、切换到webview页面4、切换后,使用命令查看是否成功,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、手机中存在H5页面,如下图

2、通过命令:print driver.contexts,查看到页面中存在一个list:

["NATIVE_APP","WEBVIEW_com.xxx.xxx.agent"]

NATIVE_APP:这个就是native,也就是原生的

WEBVIEW_com.xxxx :这个就是webview

问题:当使用命令,打印不出来webview时,需要开发加上一个代码:

【解决方案】

需要开启webview远程调试功能, Android 4.4以上,需要在应用代码中增加一下代码段开启该功能 (可由开发人员增加后重新打包给测试):

修改Activity extends CordovaActivity,设置setWebContentsDebuggingEnabled(true);

复制代码

public class MyActivity  extends CordovaActivity {
    CordovaWebView cwv;
    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.init();
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            this.appView.setWebContentsDebuggingEnabled(true);
        }
        // Set by <content src="index.html" /> in config.xml
        loadUrl(launchUrl);
    }
}

复制代码

 开启WebView远程调试功能后,重新打印contexts,成功!

>>> driver.contexts
['NATIVE_APP', 'WEBVIEW_com.sxxxxx.xxx']

3、切换到webview页面

driver.switch_to.context(contexts[1])

driver.switch_to.context("'WEBVIEW_com.sxxxxx.xxx'")

最好封装成一个方法:

    def get_webView(self):
        for cons in driver.contexts:
            cc=cons.encode('utf-8')
            if cc.lower().startswith("webview"):
                self.driver.switch_to.context(cc)
                break

遇到问题:

提示:selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. 
Original error: No Chromedriver found that can automate Chrome '46.0.2490'

就是PC端的Chromedriver版本不正确,位置在:

看报错的log日志:

 打开网址后 ,能查找到对应的版本,下载后替换即可

 点击对应版本,打开页面:(我的电脑是win64位的,但是没有win64,下载了win32,成功了)

4、切换后,使用命令查看是否成功

print driver.current.context

最后

以上就是任性紫菜为你收集整理的Appium自动化测试------app与webview切换访问1、手机中存在H5页面,如下图2、通过命令:print driver.contexts,查看到页面中存在一个list:3、切换到webview页面4、切换后,使用命令查看是否成功的全部内容,希望文章能够帮你解决Appium自动化测试------app与webview切换访问1、手机中存在H5页面,如下图2、通过命令:print driver.contexts,查看到页面中存在一个list:3、切换到webview页面4、切换后,使用命令查看是否成功所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部