• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

9、微信小程序和小游戏自动化测试

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Airtest Project自动化测试方案除了支持原生应用、游戏、Web,也支持了最新推出的微信小程序和小游戏平台。下面我们分别来看下如何利用Airtest Project进行小程序和小游戏的自动化测试:


 

8.1 小程序

 

对于微信小程序,我们可以直接利用原生平台的Poco进行控件识别。微信小程序目前采用的内核信息可以参考官方文档。我们用最新版(V7.0.4)的微信测试,可以直接用Android或者iOS Poco模式对相应平台的小程序进行控件识别。如果无法使用,可能是由于部分Android设备的Webview内核设置问题,请参考文档进行修改。

下面来分别看下Android和iOS上的效果:

8.1.1 Android小程序

连接Android手机,并打开微信小程序,以星巴克小程序为例,在AirtestIDE中选择Android模式,可以对页面进行控件识别:

 

8.1.2 iOS小程序

连接iOS手机,并打开微信小程序,以星巴克小程序为例,在AirtestIDE中选择iOS模式,可以对页面进行控件识别:

 

如下示例代码可以实现在iOS上点击对应卡面的操作:

from airtest.core.api import *

auto_setup(__file__)


from poco.drivers.ios import iosPoco
poco = iosPoco()


while not poco("感恩有你").exists():
    poco.scroll(direction=\'vertical\', percent=0.3, duration=1.0)
    snapshot()

poco("感恩有你").click()

 

 


 

8.2 小游戏

 

Airtest可以使用基于图像识别的方式对小游戏进行自动化测试,此外,Poco UI控件检索也对使用白鹭引擎开发的小游戏进行了支持。Poco的接入需要在源代码中接入Poco-SDK,具体接入指引如下:

8.2.1 环境配置

    • 首先下载Poco-SDK

    • 然后在egretProperties.json中修改modules属性,添加红框内相应字段,其中name属性必须为Poco

    • 路径可以是相对路径也可以是绝对路径,具体可以参考白鹭引擎说明文档中有关于modules字段的说明

                               

 

 

     然后通过快捷键 ctrl+` 呼出终端 在终端中执行命令egret build -e

    

    在入口文件main.ts的rungame函数中新建类型为PocoManager的对象,并且传入this.stage

    

  • 运行代码,启动游戏

  • 最后在在终端中输入python -m poco.utils.net.stdbroker ws://*:5003 tcp://*:15004 ,打开代理服务器broker

  • 其中websocket端口默认为5003,如果有更改的需要,可以在新建pocomanager的时候传入端口参数

                   

 


 

8.3 使用AirtestIDE连接

 

8.3.1 连接手机浏览器

AirtestIDE支持Android和iOS手机连接,可以在手机上打开Egret页面(或者微信小程序/游戏),然后通过AirtestIDE进行连接,Windows和MacOS版本IDE都可以使用。连接基本原理为:

 

 

 

 

具体步骤如下:

(1)通过USB连接Android手机,确认ADB devices连接OK,在电脑上执行如下命令,将手机的5003端口映射到电脑的5003端口

adb reverse tcp:5003 tcp:5003

 

 (2)在电脑上启动broker:

 python -m poco.utils.net.stdbroker "ws://*:5003" "tcp://*:15004"

 

 启动broker之后,在手机上访问Egret的页面(需要使用全屏模式保证坐标准确)。访问的时候,broker会打印手机连接上的Log,如下:

~ python -m poco.utils.net.stdbroker "ws://*:5003" "tcp://*:15004"
server listens on ("0.0.0.0", 5003) transport websocket
server listens on ("0.0.0.0", 15004) transport socket
StdBroker on.
server on accept. <poco.utils.net.transport.ws.MyWsApp object at 0x1100620d0>

 

 (3)打开AirtestIDE连接手机,选择Poco Std-broker模式,即可以看到UI层级结构。同时broker会打印连接日志:

server on accept. <poco.utils.net.transport.ws.MyWsApp object at 0x10d03d2d0>
accept from: (\'127.0.0.1\', 56872)
received_message from (\'127.0.0.1\', 56323) {"id":"2a0ce828-132e-4d15-a645-55493d7eaf4b","jsonrpc":"2.0","result":{"children"

 

 AirtestIDE界面如下:

 

 在AirtestIDE里编写脚本并运行,还可以查看报告。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap