现在混合app在非常常见,即一个app不仅仅含有原生的部分,还嵌入了h5网页。最近用appium框架实现了对安卓混合app的测试,从原生切换到h5网页,必须切换到相应的webview,踩了太多的坑,总结了一些经验:
要切换到webview,测试app一定是要打开debug模式的(Android开发人员在测试包中开启Webview的debug模式就可以了)chormedriver版本一定要和手机的chorme版本对应。在原生app中如果click方法不起作用,可以尝试tap方法。(直接点击坐标有时候挺有用)在H5中Selenium中很多方法是适用的。(比如定位元素)在H5中如果点击事件不起作用(报元素不可见之类的错误),尝试用javascript点击(竟然起作用了)我做的是安卓混合app的测试(如果有苹果电脑,建议做IOS的,因为安卓可能遇到很多兼容性问题)。首先你要搭建自己的环境,比如下载appium,安装adb,安装安卓模拟器(也可以用真机),具体的环境搭建大家可以去网上找教程一步步来。
下面是一些客户端代码实现,首先是引入的包:
引入的包配置信息按照具体的情况来填写
配置信息,
下图是切换到webview的代码截图,ps:发现进入H5以后,Selenium的隐式等待方法可以用的
切换进入webview进入到H5页面后,发现很多时候点击事件不起作用,会报元素不可见之类的错误,到网上到处搜也没得到个解决方法,后来用javascrip点击成功了,也不知道为啥。