随着微信小程序的逐渐普及,针对微信小程序的测试需求也逐渐丰富起来了。如今针对小程序的自动化测试手段比较不完善,针对的平台比较具现化。python
本文介绍一下使用Airtest测试框架进行微信小程序自动化测试的方法,并分别介绍在Android和iOS下对详细的使用步骤。android
这里咱们以星巴克的小程序为例git
咱们须要github
1.打开关闭小程序 2.查看咖啡信息并试图购买
针对这几个需求,咱们使用Airtest对小程序进行测试web
Airtest的简要介绍能够看这里面试
https://www.oschina.net/p/airtest小程序
http://airtest.netease.com/微信小程序
此次咱们使用Airtest-Ide,poco,iOS-Tagent,这几个组件完成咱们的任务,这些内容都可以在下面找到api
https://github.com/AirtestProject浏览器
这里使用系统WebView内核:
使用微信聊天框输入此网址打开
或者扫描二维码
选择强制使用系统内核,而后重启微信便可:
注意: Android版本的小程序的 使用的 腾讯TBS浏览器内核 暂时没法使用 咱们的工具来访问界面元素
如今咱们可使用系统内核进行工做!
不过咱们即将有新的解决方案来支持TBS内核,敬请期待。
首先打开Airtest-ide
先进行Android设备的链接
选择connect进行链接
在poco辅助窗这里选择Android模式,便可看到原生的ui结构等信息
下面进行操做的录制:
选择poco录制模式,进行操做的录制:
接下来能够看到生成的代码状况
略做调整,并执行代码
# -*- encoding=utf8 -*- __author__ = "suyuchen" from airtest.core.api import * auto_setup(__file__) from poco.drivers.android.uiautomation import AndroidUiautomationPoco poco = AndroidUiautomationPoco() poco("android.support.v7.widget.RecyclerView").child("android.widget.RelativeLayout")[0].child("android.widget.FrameLayout").child("com.tencent.mm:id/gd").click() sleep(1) snapshot() poco("com.tencent.mm:id/l0").child("android.widget.ImageButton").click() snapshot()
能够看到执行效果很是不错
# -*- encoding=utf8 -*- __author__ = "suyuchen" from airtest.core.api import * from poco.drivers.android.uiautomation import AndroidUiautomationPoco auto_setup(__file__) poco = AndroidUiautomationPoco() poco("android.support.v7.widget.RecyclerView").child("android.widget.RelativeLayout")[0].child("android.widget.FrameLayout").child("com.tencent.mm:id/gd").click() while not poco("有你真好").exists(): poco.scroll(direction='vertical', percent=0.3, duration=1.0) snapshot() poco("有你真好").click() poco("当季特饮").click() assert(poco("使用须知:").exists()) poco("android.view.ViewGroup").child("android.widget.FrameLayout").child("android.widget.FrameLayout")[1].child("").child("").child("")[3].child("")[1].click() poco("android.view.ViewGroup").child("android.widget.FrameLayout").child("android.widget.FrameLayout")[1].child("").child("")[2].child("")[1].click() poco("\r 购买\r").click()
执行效果不错
Airtest 是跨平台的测试框架,固然是对iOS支持的,大致的代码会是同样的,可是iOS和Android的ui结构和名称会有一些平台相关的不一样,可是大部分会是相同的,下面展现使用iOS进行相同功能的测试步骤。
首先打开Airtest-ide
先进行iOS设备的链接,iOS的设备链接须要部署iOS-Tagent
https://github.com/AirtestProject/IOS-Tagent
选择connect进行链接
在poco辅助窗这里选择iOS模式,便可看到原生的ui结构等信息
下面进行操做的录制:
选择poco录制模式,进行操做的录制:
iOS上webView内的元素识别的不如Android准确,有时候须要借助图像识别进行处理
运行结果:
效果不错
下面试着编写更加复杂的功能
能够看到总体代码几乎都是相同的
下面看运行效果:
看到运行效果很是好!
本文介绍了使用Airtest测试小程序的方法,欢迎使用Airtest 进行微信小程序测试