【python】Appium安卓padUI自动化

Appium安卓padUI自动化踩的坑,总结如下:

一、从native页面跳转到webview页面,获取链接并定位元素

方法一:通过Charles抓包,可以定位到pad跳转到的H5页面,获取页面地址,在pc端进行元素定位

方法二:在web chrome浏览器输入:chrome://inspect/#devices,运行安卓pad到H5页面,可以看到运行的机型、包名称、对应的chromedriver版本,以及所需要的H5链接地址,如下图:

【python】Appium安卓padUI自动化_第1张图片

从native页面跳转到webview页面,最重要的一句代码如下:

contexts = self.driver.contexts    # 打印上下文环境
self.driver.switch_to.context(contexts[-1])  # 切换到webview模式

二、修改appium默认的chromedriver版本

       现在的app基本是基于native和webview混合开发,不同的安卓pad,其chrome内核也不同,通过上面的步骤,知道所需要的chrome版本(不要根据程序运行后,pycharm提示去判断用哪个版本,亲测不准),之前不知道,运行程序有如下图的提示,导致自己下载了各种80版本的chromedriver,结果还是不行,浪费很长时间。

【python】Appium安卓padUI自动化_第2张图片

下载不同版本的chromedriver链接:https://npm.taobao.org/mirrors/chromedriver

替换appium默认的chromedriver有以下三个方法:

方法一:mac本:如果你是默认安装的appium,地址应该是这个

/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver,直接替换了就好了

方法二:打开appium,在下图红框中输入你想运行的chromedriver地址【python】Appium安卓padUI自动化_第3张图片

方法三:仅针对安卓机型,有一个字段指定运行的chromedriver地址

'chromedriverExecutableDir': '/Users/XXX/Downloads/chromedriver'

你可能感兴趣的:(python,python,android,自动化)