现阶段,小程序越发的火,微信也给了巨量的流量诱惑。很多公司都有进行小程序开发。 那么小程序可以进行自动化测试吗? 当然是可以的!
01
准备阶段
三个inspect工具可选:
其实不管是腾讯家的调试工具还是UC家的调试工具,都是对chrome devtools的二次封装使用上大同小异,以上三个工具选择一个即可,具体使用方式腾讯家很友好的整理了相关的文档:
https://x5.tencent.com/tbs/document/debug-detail-wifi.html
02
开启小程序debug模式
腾讯的浏览器driver是独家定制X5内核。发现腾讯家也有很详细的文章 就直接搬链接过来了:
https://x5.tencent.com/tbs/guide/debug/season7.html
使用步骤:
1.使用微信打开http://debugtbs.qq.com/,点击“查看内核版本”,显示:”内核版本信息:43xxx”,如果版本号小于439xx则需要执行下一步升级内核。
2.打开http://debugtbs.qq.com/,点击“安装线上TBS内核”。重启微信, 检查内核版本号。
3.打开http://debugx5.qq.com/,选中“信息”->“打开x5jscore inspector ”复选框。重启微信。
4.打开微信,“发现”-》小程序,选中仍一小程序,如“京东”
5.在TBS Studio中启动调试,可以看到如下界面:
03
设置初始化环境
1、配置desired_capabilities(X5内核不能用chromedriver)
# 相比之前的启动参数,小程序的启动参数需要多几项
2、打开微信
# 微信的apppackage appActivity
3、进入小程序
在此只能使用XPATH进行定位
caps = {"appPackage": "com.tencent.mm", "appActivity": "com.tencent.mm.ui.LauncherUI", "chromedriverExecutable": file,
4、找到小程序运行的context
adb shell dumpsys activity top| findstr ACTIVITY
5、切换进该context
context = driver.contexts # 此时会有两个webview的context
6、因为小程序的特性,每个页面都是单独的handle,所以需要我们进行切换
handle = driver.window_handles # 获取当前页面全部的句柄
7、进行相关用例测试