最近需要做微信公众号的自动化测试,遇到了不少坑。
微信公众号自动化与app自动化还是有区别的,因为多了不少坑。打开微信x5内核调试的就不说了,百度有。
1、首先,微信公众号有webview,uiautomatorviewer定位不了webview,代码也切换不了webview。
贴个事发主要自动化代码(这段基本不用动):
解决方法第一个必要条件:chromeoptions
我第一个弄完还是无法切换webview,而appium报错日志:
error: Chromedriver: Error: A new session could not be created. (Original error: session not created exception: Chrome version must be >= 65.0.3325.0
所以有第二个条件:chromedriver版本与chrome版本需对应:具体参考:https://www.cnblogs.com/csj2018/p/9186101.html
注意注意注意!这里的chrome版本是指WebView in com.tencent.mm的版本,很多人(包括我)认为chrome是手机chrome或pc端chrome的版本!!!从而一直调试失败!!
那WebView in com.tencent.mm的版本要看哪里?
打开手机的webview后,进入chrome://inspect, 红框位置即是所需要的版本号!!
所以选择chromedriver v2.29
替换后chromedriver后,再跑一遍,终于成功切换webview了。
2、接下来,另一个大坑,就是webview里面元素的定位,肯定都用chrome里的inspect定位元素,但打开inspect 回显404或打开空白。
这个我觉得挺无解的,好像全网只有一个方法,就是去大神那10块钱买个离线包即可解决!什么翻墙是没用的!!
传送门:https://www.cnblogs.com/slmk/p/7591126.html
反正我是解决了。
接下来定位就跟web端的一样了。
附:新版本的adb.1.0.40下载(比较难找)
传送门:https://www.cnblogs.com/we-hjb/p/6416274.html
继续跟进appium微信自动化的坑~~