Appium之WebView自动化

WebView的测试:主要作用在混合(Hybrid)的应用

        * 一部分是原生界面和代码,而另一部分是内嵌网页

        * 比如微信、支付宝

        * 内嵌了一个浏览器内核,由浏览器内核实现的

    安卓应用中的内嵌的展示网页内容的模块,我们称之为webview

准备工作:

        app修改编译  ==== 需要添加webview调用   ----  对webview对象加入setWebContentsDebuggingEnable的调用

        直接让开发人员在下面这段代码中加入一句代码:

                     protected void onCrete(Bundle saveInstanceState){

                            super.onCreate(savedInstanceState);

                            WebView myWebView = (WebView) findViewById(R.id.xxxwebview);

                            myWebView.setWebContentsDebuggingEnabled(true);    #  加上这句代码

                     };

         如果不知道怎么说,简单总结一句话:“帮忙加一下webview的debug调用”就好。

webview有两种情况

         ① webview的内容 不依赖所在app

             方法:直接用chrome浏览器F12里面的手机模式打开对应的网页

                         - 只是打开一个url

                         - 直接使用chrome浏览器打开对应的网页

                         - 使用手机模式

         ② 被测应用webview与app原生有交互,依赖app

              方法:通过chrome浏览器的远程调试功能(前提是本电脑可以正常上网)

                  详细步骤: - 确保被测试app在手机上打开

                                 - 打开chrome浏览器,地址输入chrome://inspect

                                 - 等待界面显示如下 ,这里就不截图了

Appium自动化webview:

         * appium中把所有的界面环境 称之为context

         * native部分的context名字一般为NATIVE_APP

         * webview部分的context则为WEBVIEW_XXX   (应用app  package名)

         * 我们怎么查看当前有哪些context呢?   ---------------    driver.contexts

         * 而显示当前context的则是  -------------  driver.current_context

通知查看》》

        安卓的系统通知在通知栏

        打开通知栏  driver.open_notifications()

        查看通知内容

        返回应用   driver.press_keycode(4)     #  返回键

posted @ 2019-12-10 09:10  呸呸裴  阅读(1778)  评论(0编辑  收藏  举报