背景介绍:
微信小程序是基于腾讯自研 X5 内核,不是谷歌原生 webview。
实现方式:
1、小程序自动化sdk,使用自动化sdk,需要有小程序的开发者权限,以及参考的资料较少,2、选择采用appium+python,实现微信小程序的自动化。启动微信,查找小程序,进入到小程序的webview,对小程序页面进行自动化操作。
实际操作及存在的问题
实际操作结果:
设备 |
系统 |
微信版本 |
开启x5调试 |
是否能跑通 |
魅族 m1note |
Android 5.1.0 |
7.0.22 |
是 |
是 |
Samsung galaxy s520 |
Android 7.12.0 |
8.0.16 |
是 |
否(模拟器获取不到上下文webview),无法操作webview |
Samsung galaxy s10 |
Android 9 |
7.0.22 |
是 |
否(模拟器获取不到上下文webview),无法操作webview |
JSN_AL00 |
Andrioid 10.0.0 |
8.0.16 |
是 |
否,只能获取微信的上下文),无法进入webview |
结论:
1、 在模拟器下获取不到小程序的webview,无法对元素进行操作,不能在模拟器上对小程序进行自动化
2、 微信版本限制会导致获取不到小程序的webview,只能在可获取到webview的微信版本,对小程序进行自动化,只能在支持webview的微信版本上的真机才能进行小程序的自动化测试,目前测试支持webview版本7.0.22
3、 需要提供可用微信账号,并已进行登录验证,频繁操作可能会导致封号
4、 目前小程序自动化相对不稳定,只能对指定机型和微信版本号是7.0.22的进行自动化测试