appium中从activity切换到html
问题:混合开发的app中,会有内嵌的H5页面元素,该如何进行定位操作?
解决思路:appium中的元素定位都是基于android原生控件进行元素定位,而web网页是B/S架构,两者运行环境不同需要进行上下文(context)切换,然后对H5页面进行定位操作
H5元素定位环境搭建:
电脑安装:chromePC浏览器
手机安装手机版chrome
chromedriver: https://npm.taobao.org/mirrors/chromedriver/
chromedriver 需要与chrome浏览器版本对应
电脑相应路径存放: chromedriver默认存放路径:C:\Users\yujing\AppData\Roaming\npm\node_modules\appium-doctor\node_modules\appium-chromedriver\chromedriver
genymotion模拟器,逍遥模拟器(夜神模拟器由于系统兼容问题,无法获取webview context)
webview调试模式检查:
1. 打开app对应h5页面,在chrome://inspect/#devices地址中,检查是否显示对应的webview。
2. 在自动化脚本中,进入到对应的H5页面,打印输出当前context,如果一直显示为NATIVE APP,则webview未开启
操作步骤:
1. 手机与电脑连接,开启USB调试模式,可通过adb devices查看设备
2. 电脑端,移动端必须安装chrome浏览器
3. App Webview开启debug模式
4. 在电脑端chrome浏览器地址栏输入chrome://inspect/#devices,进入调试模式
5. 执行测试脚本