pyhton+appium+ios,遍历真机webview。是遍历真机的webview,遍历模拟器的webview请另寻方法。
1.mac上安装ios_webkit_debug_proxy
命令:brew install ios_webkit_debug_proxy
2.ios上打开web检查器
位置:设置—》Safari—》高级—》web检查器
3.启动ios_webkit_debug_proxy
命令:ios_webkit_debug_proxy -c xxxxxxxxxxxxxxxxxxx:27753 -d
-c后的参数指真机udid
4.在python代码中用driver.contexts即可得到页面所有context,这个方法会将context存在list里。
打印出list内容,查看你要的webview在第几个,用switch_to.context()切换到那个webview即可。
代码如下:
# 假设我的目标webview存在list里的第三个
myWebview = self.driver.context[2]
self.driver.switch_to.context(myWebview)
这样就切换到了目标webview,接下来就可以像web自动化一样,操作html元素了。怎么得到元素属性,请继续往下看。
----------------------------------------怎么得到webview里的元素--------------------------------------------
切换到了webview里,就可以对元素操作了,但是第一步,要得到元素的属性,下面讲步骤:
1.启动webkit服务,并指定谷歌浏览器进行监听
ios_webkit_debug_proxy -f chrome-devtools://devtools/bundled/inspector.html
2.跑起你的用例代码,停留在含webview的页面。注意,是跑起代码,停留在含webview的页面,不是手动点到那个位置,切记!切记!
3.谷歌浏览器地址输入http://127.0.0.1:9222
在列表中,你就看到了webview的地址,是个完整的url,如图
4.复制出url到浏览器地址,回车,你就会看到在app里一样的webview页面,接下来你就能像web自动化一样,得到元素xpath等等了
---------------------------------------------------------------------------------------------------------------------------------------------------------------
更多请关注:FlyTester,关注技术的测试者
QQ群:456850134
web站:www.flytester.org
微信扫描二维码关注: