当前位置: 首页 > 科技观察

说说如何自动化微信小程序?

时间:2023-03-21 19:24:05 科技观察

1。前言通常我们使用自动化主要针对App端和Web端。还有两个用得少但也很重要的场景,分别是:浏览器和微信小程序。今天我们就来说说如何对微信小程序进行自动化操作。2、微信小程序小程序嵌入微信,页面包含Native原生元素和Web元素,相当于一个混合应用。而且小程序的web部分是基于腾讯X5内核开发的,也是一个特殊的WebView。如何实现小程序自动化?主要方式包括:UiAutomator原生、基于WebView、微信官方自动化SDK。下面将对这些方法一一进行说明。层级关系和坐标值用于定位元素并执行一系列自动化操作。但是原生有一个缺点。由于小程序是基于WebView的,缺少元素定位器,很多属性包括:content-desc和resource-id都不存在。虽然用这种方法来定位元素有一定的难度,但是元素的层级关系还是可以用来弥补这个缺点的。4、WebView网络上的大部分教程都是基于WebView自动化的。首先需要开启微信的调试功能。在文件传输助手中输入:debugx5.qq.com进入,勾选:启用TBSkernelInspector调试功能。接下来,在Chrome上输入以下命令,进入设备和页面管理页面chrome://inspect/#devices,点击相应的页面项,即可在开发者工具中显示小程序目标页面的完整HTML元素信息。自动化操作非常简单。比如你使用Appium,你可以直接将对应的小程序发送到文件发送助手作为自动化的入口。切换到小程序的所有Context,最后,使用Css选择器选择网页元素,进行一系列的自动化操作。需要注意的是,在微信7.X之后,该方法不能再默认完成基于WebView的自动操作。这样可以降低ChromeDriver的版本来对应微信x5内核的版本。5、官方SDK微信官方提供了小程序自动化SDK作为标准测试框架,支持真机和模拟器。如果是自己公司开发的小程序,可以配置小程序开发者工具,使用官方API编写简单的脚本,指向项目地址,使用npm命令完成自动化运行。如果是第三方小程序,这种方法就不适用了。6、对比上面提到的三种小程序自动化的方法,各有优缺点。如果是微信小程序的源码,建议使用官方SDK来完成小程序的自动化,否则可以二选一。另外,使用WebView实现小程序自动化,对ChromeDriver的版本和x5内核的版本有要求,需要统一。