前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Appium如何开展小程序自动化测试?

Appium如何开展小程序自动化测试?

作者头像
测试开发技术
发布2021-11-04 17:07:13
2K0
发布2021-11-04 17:07:13
举报
文章被收录于专栏:测试开发技术测试开发技术

现阶段,小程序越发的火,微信也给了巨量的流量诱惑。很多公司都有进行小程序开发。 那么小程序可以进行自动化测试吗? 当然是可以的!

01

准备阶段

三个inspect工具可选:

  • chrome DevTools chrome://inspect/#devices
  • UC DevTools https://dev.ucweb.com/download/?spm=ucplus.11199946.c-header.6.53974692oQhbSQ
  • TBS Studio (腾讯自家的小程序调试工具) https://x5.tencent.com/tbs/guide/debug/download.html

其实不管是腾讯家的调试工具还是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)

代码语言:javascript
复制
# 相比之前的启动参数,小程序的启动参数需要多几项

2、打开微信

代码语言:javascript
复制
# 微信的apppackage appActivity

3、进入小程序

  • 所有想要进入小程序debug状态的都要从 搜一搜 这个入口进去; 有部分人的微信在定位的过程中是无法精确定位到具体元素的,此时我们推荐采用 xpath进行定位; 有部分人的微信是可以定位到具体元素的可以使用任意方式
  • 进入到搜一搜页面,搜索框是无法进行精确定位的,但是可以 xpath定位"搜索"这两个字

在此只能使用XPATH进行定位

  • tips:此搜索框必须先进行点击,再输入文字。否则将有bug
  • 进入到搜索页,此处一样有些人可以精确定位,有些不可以
代码语言:javascript
复制
caps = {"appPackage": "com.tencent.mm", "appActivity": "com.tencent.mm.ui.LauncherUI", "chromedriverExecutable": file,

4、找到小程序运行的context

  • 如图我们使用第一个命令可以得到手机当前app正在活跃的进程
  • 找到带有plugin字样的pid
  • 拿去该pid执行第二个命令即可得到该pid进程的name了
  • 一般name名为:com.tencent.mm:appbrand0 \ com.tencent.mm:tools \ com.tencent.mm:toolsmp的才是小程序的
代码语言:javascript
复制
adb shell dumpsys activity top| findstr ACTIVITY

5、切换进该context

代码语言:javascript
复制
context = driver.contexts  # 此时会有两个webview的context

6、因为小程序的特性,每个页面都是单独的handle,所以需要我们进行切换

代码语言:javascript
复制
handle = driver.window_handles  # 获取当前页面全部的句柄

7、进行相关用例测试

  • 此处的操作即可参考我们这个系列里面H5页面的操作啦
  • 不过现在新版本的同学可能可以看到,H5页面也不再是webview这个class了,已经可以进行精确定位了
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档