注解

本文档仅为Poco框架与AirtestIDE编辑器补充文档,请务必访问 Poco项目文档 获取文档的完整信息。

6.1 Poco快速上手

Poco是一款基于UI控件搜索的自动化框架,与基于图像识别的Airtest不同的是,Poco可以使用类似 poco("OK").click() 的方式来获取并操作节点。

https://poco-chinese.readthedocs.io/zh_CN/latest/_images/overview1.gif

当前支持平台

Poco在大多数平台中,需要 事先接入Poco-SDK才可正常使用 ,在少数平台(如Android原生APP)可直接使用Poco,目前支持平台如下:

平台 Airtest Poco
Cocos2dx-js, Cocos2dx-lua 接入文档
Unity3D 接入文档
Native Android APP 直接使用
iOS 帮助文档
Egret 接入文档
Other engines 可自行接入
WeChat Applet&webview 参考文档 随着微信更新可能会失效
Windows, MacOS 敬请期待
Netease 帮助文档

更多平台支持正在陆续添加中,若有平台支持的需求,可以到 Poco-github 上提交issue,或联系我们。

入门教学用例

请务必仔细查阅Poco项目文档- 入门教学用例 来学习入门的控件选择和操作方法。

开始使用

若使用本地Python环境,希望像普通Python那样进行Poco脚本的开发,请参考 Poco快速上手 文档中的相关章节。在 .py 文件中 import poco 即可使用Poco的相关功能,所以脚本能够在任何文本编辑器、Python常用编辑器中开发,同时可以使用轻量级检视器 PocoHierarchyViewer 进行控件属性的获取。

不过,我们在AirtestIDE中提供了更加简单的Poco控件获取和脚本编写功能,遵循以下步骤即可快速开始使用:

  • 参考上述支持平台列表,对你的游戏/应用接入Poco-SDK
  • 在切换Poco应用类型时,脚本编辑框会弹出提示插入初始化Poco代码的通知窗,点击Yes可以在当前脚本插入一段对应类型的Poco初始化代码
  • 开始编写Poco脚本

大致步骤如图所示:

../_images/4-poco_manual_record1.gif

AirtestIDE中的Poco辅助窗

在AirtestIDE中,提供了不少方便Poco脚本编写的功能,例如点击Poco辅助窗上的录制按钮后,可以根据当前操作自动生成相应的Poco语句:

http://airtest.netease.com/tutorial/gif/poco_auto_record.gif

然而自动生成的语句可能效果并不太理想,通常情况下,我们需要编写一些更复杂的语句、以及更精确的UI控件选择语句。在AirtestIDE中,我们可以通过暂停功能,冻结当前的UI树形结构来精确地检视UI控件,双击UI树上的节点能自动插入Poco语句,对它们进行更精确的调整可以进一步提升我们脚本的可读性和运行成功率:

http://airtest.netease.com/tutorial/gif/poco_manual_record.gif

具体使用教程,请参考 录制脚本-3.3 Poco辅助功能

试用DEMO

鉴于SDK的接入步骤比较繁琐,我们提供了不同平台上的几个简单Demo范例,供大家下载之后体验和熟悉Poco,请前往 Poco Examples and Tutorials 页面了解更多详情。

更多问题

为什么我选择了Poco模式后,没有成功刷出UI树

这里 可以查看当前支持的平台列表,目前除了Android原生App无需接入SDK即可直接使用之外,其余引擎都需要事先 接入SDK 才能获取到UI结构信息(游戏没有事先接入SDK是无法直接看到UI树的),请务必仔细阅读 接入文档 ,进行SDK接入后再进行使用。

为什么接入了SDK、使用了原生App依然看不到UI树

在Poco初始化时,会向手机中安装相关的apk,请务必保证手机允许了相关apk的安装。部分型号的手机需要在设置中开启“允许通过ADB安装应用”等相应选项才能进行安装。

部分厂商的手机需要额外的设置,例如需要手工在输入法选项中,将Yosemite输入法设置为默认,详情请参考 部分厂商设备特殊问题

UI树在一段时间后没有正确刷新

可以尝试先将Poco模式选项的下拉菜单改为 Stop,再重新选择你所需要的模式,例如 Android, IDE将重新建立与手机的Poco通信连接。

有时候也可能因为手机内存不足,手机自动将后台的pocoservice进程关闭了,导致连接断开,这种情况建议尝试换一台配置更好的手机重试。

其他

访问我们的Github页面 AirtestProject 能够看到我们开源的 PocoPoco-SDK ,以及可供选择配套使用的 PocoUnit 项目。

有更多问题,欢迎提交 issues 以帮助我们更好地完善项目。