自动化-Appium-微信小程序(Python版)
微信小程序
微信小程序其实也是正常的webview,但需要在微信里打开X5调试页面进行设置,脚本添加androidProcess参数才可以执行自动化测试。
本章示例为微信Android版本进行讲解(Windows与Mac环境下操作基本一致,此次示例为在Windows环境)。
1、编写脚本
1、首先获取真机设备标识,命令行输入命令 adb devices
2、真机设备里安装微信应用程序,输入安装命令 adb install -r 进行安装,或者使用手机助手进行安装。本章示例微信版本6.6.5
3、打开X5调试页面
打开微信,在任何聊天窗口内输入debugx5.qq.com,之后点击打开。
或者,通过微信扫一扫,扫描下面的二维码,进入X5调试页面。
4、信息页中,勾选“打开TBS内核Inspector调试功能”。
5、接下来开始使用查找元素定位工具来获取元素的属性值等信息,微信应用程序的原生例如可以使用Android SDK的uiautomatorviewer工具查找元素,小程序页面识别不到webview中的元素,例如显示android.webkit.WebView,那么要用什么工具查找定位呢?例如:京东购物。
接下来打开PC的Chrome浏览器,输入访问地址chrome://inspect/
如图所示,当前打开的小程序界面就是Webview。
点击页面链接(链接很多,要挨个点击查看哪个是),弹出新窗口,显示当前页面的Webview元素信息(由于国内网络问题,第一次页面加载可能需要FANQIANG)。元素定位方法同Selenium WebDriver一致。
6、获取当前小程序的进程
微信有很多的进程,每一个小程序都运行在不同的进程中。 微信打开小程序(例如:京东购物),查看当前运行在哪个进程中。
(1)查询pid,命令行输入 adb shell dumpsys activity top | findstr ACTIVITY
(2)查询当前小程序进程,命令行输入 adb shell ps 查询的pid
脚本参数添加:
7、切换NATIVE_APP还是WEBVIEW_com.tencent.mm:tools,使用switch_to.context方法。
8、脚本代码:
2、执行脚本
1、开启Appium服务(任选一种即可)
方式一:开启Appium Server
打开命令行,输入 appium --address 127.0.0.1 --port 4723 --no-reset --session-override
如图所示,Appium服务开启。
方式二:开启Appium Desktop
打开Appium Desktop
如服务IP和端口默认的情况下,直接点击Start Server v1.8.0来开启Appium服务,如图所示。
2、选中脚本鼠标右键Run,执行测试脚本。
脚本执行步骤:
(1)启动微信应用程序
(2)点击发现
(3)向下滑动
(4)点击小程序
(5)点击京东购物
(6)打印出被测App的NATIVE_APP和WEBVIEW