最近需要做微信公众号的自动化测试,遇到了不少坑。

微信公众号自动化与app自动化还是有区别的,因为多了不少坑。打开微信x5内核调试的就不说了,百度有。

1、首先,微信公众号有webview,uiautomatorviewer定位不了webview,代码也切换不了webview。

贴个事发主要自动化代码(这段基本不用动):

py+appium微信公众号自动化(已搞定多个坑)-LMLPHP

解决方法第一个必要条件:chromeoptions

py+appium微信公众号自动化(已搞定多个坑)-LMLPHP

我第一个弄完还是无法切换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

py+appium微信公众号自动化(已搞定多个坑)-LMLPHP

py+appium微信公众号自动化(已搞定多个坑)-LMLPHP

所以有第二个条件: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,  红框位置即是所需要的版本号!!

py+appium微信公众号自动化(已搞定多个坑)-LMLPHP

所以选择chromedriver v2.29

py+appium微信公众号自动化(已搞定多个坑)-LMLPHP

替换后chromedriver后,再跑一遍,终于成功切换webview了。

py+appium微信公众号自动化(已搞定多个坑)-LMLPHP

2、接下来,另一个大坑,就是webview里面元素的定位,肯定都用chrome里的inspect定位元素,但打开inspect 回显404或打开空白。

这个我觉得挺无解的,好像全网只有一个方法,就是去大神那10块钱买个离线包即可解决!什么FQ是没用的!!

 传送门:https://www.cnblogs.com/slmk/p/7591126.html

反正我是解决了。

py+appium微信公众号自动化(已搞定多个坑)-LMLPHP

接下来定位就跟web端的一样了。

py+appium微信公众号自动化(已搞定多个坑)-LMLPHP

附:新版本的adb.1.0.40下载(比较难找)

 传送门:https://www.cnblogs.com/we-hjb/p/6416274.html

继续跟进appium微信自动化的坑~~

05-25 20:34