前言
很多新手同學想要使用我們的poco框架獲取項目的控件樹來進行自動化測試。但是他們經常會搞不清楚,哪些項目是需要接入Poco-SDK才能獲取控件樹,這個Poco-SDK是接入到哪里去的,所以今天我們就接入Poco-SDK這個問題,把同學們常問的一些問題給大家解答下。
1.如何知道項目是否需要接入Poco-SDK
很簡單,大家只要記住,目前只有安卓原生和iOS原生應用,能夠在不接入Poco-SDK的情況下,直接使用我們的poco框架,像其它的平台,Cocos、unity、Egret等等,都必須事先接入Poco-SDK才可正常使用。
2.這個Poco-SDK是接入到哪里的
這個問題特別多新手同學犯錯,他們有的會把下載下來的Poco-SDK放到設備目錄下,有的會把它放到airtest腳本目錄下,這些都是錯誤的做法。
實際上,我們應該 把Poco-SDK嵌入到你的游戲項目源碼里面 ,比如unity游戲項目的腳本、Cocos項目的腳本等,而不是放到設備目錄下或者放到airtest腳本目錄下。
所以,經常有同學問我們沒有源碼的項目能接入Poco-SDK嗎?答案是不能。
3.unity項目接入Poco-SDK的常見問題
我們按接入步驟一個個來了解下。
1)下載Poco-SDK包
這個直接到我們的GitHub上面clone下來即可:https://github.com/AirtestProject/Poco-SDK 。
2)把Unity3D文件夾放到項目腳本中
把剛才clone下來的壓縮包 Poco-SDK-master.zip
解壓,然后將其中的Unity3D文件夾放到你Unity項目的Scripts的任意位置中:
注意,這里所說的Scripts指的就是unity游戲項目的源碼。
3)根據UI類型選擇
詢問程序使用的是哪種UI方式,SDK中有三個文件夾 ugui
、 ngui
、 fairygui
,保留其中一種刪除另外兩種,比如上圖選擇的就是 ugui
。其余兩種請務必刪除,不然unity會報錯。
4)在unity載入腳本
創建一個空的 GameObject
(右鍵-Create Empty),添加腳本(Add Component):
其他參數默認即可,GameObject
名字隨意。
或者,同學們也可以在 root 或者 主camera 這些 GameObject
上添加腳本(Add Component) Unity3D/PocoManager.cs
。
有同學可能會問,為什么要新建空的 GameObject
或者是選擇 root 、 主camera 這些 GameObject
來添加腳本呢?
其實這都是為了將腳本掛載到1個 不會在游戲的生命周期中被銷毀的節點 上去,並且在游戲開始時,盡快開啟poco服務。
4.Cocos-Creator項目接入Poco-SDK的常見問題
跟上面一樣,我們依舊是按步驟來看。
1)下載Poco-SDK包
同上。
2)把cocos-creator/Poco文件夾放項目腳本中
復制Poco-SDK包里面的 cocos-creator/Poco
文件夾到你的cocos-creator項目的腳本目錄下,任意路徑都可以。
這里所說的cocos-creator項目指的就是cocos-creator游戲項目的源碼。
3)編輯cocos-creator項目的配置文件
在引擎目錄中找到 ccConfig.h
文件。文件路徑在 your/path/to/CocosCreator_2.2.1/resources/cocos2d-x/cocos/base/ccConfig.h
:
編輯第62行。把 #define USE_WEBSOCKET_SERVER 0
改為 #define USE_WEBSOCKET_SERVER 1
:
這樣做的目的是為了開啟開啟 WebSocketServer
模塊。
4)添加腳本到一個永遠不會消失的節點上
添加腳本需要我們 手動添加 ,例如:
在該腳本的 onLoad
函數中,添加如下腳本:
onLoad:function(){
var poco = require("Poco") //此處添加你自己的Poco.js文件的路徑
window.poco = new poco();
cc.log(window.poco);
},
然后永不消失的UI節點,即在你 切換任意場景時,此節點都會常駐,並且永不銷毀 。這種永不消失的節點可大致分為兩種,一種是強制賦予一個永不消失的屬性;另一種是常駐內存的根節點/特殊節點,例如主相機節點。
所以我們一般建議把腳本添加到根節點或者主相機節點上,就是如此。
5.目前poco的支持情況如何
平台 | Poco | 接入文檔 |
---|---|---|
Android原生應用 | 直接使用 | 無需接入Poco-SDK |
Android微信小程序 | 直接使用安卓poco | https://mp.weixin.qq.com/s/R02Ac3ZC1B_ND7QVik_Z8Q |
iOS原生應用 | 直接使用 | 無需接入Poco-SDK |
unity3D | 需接入Poco-SDK | https://poco-chinese.readthedocs.io/zh_CN/latest/source/doc/integration.html#unity3d |
Cocos2dx-js | 需接入Poco-SDK | https://poco-chinese.readthedocs.io/zh_CN/latest/source/doc/integration.html#cocos2dx-js-beta |
Cocos2dx-lua | 需接入Poco-SDK | https://poco-chinese.readthedocs.io/zh_CN/latest/source/doc/integration.html#cocos2dx-lua |
Cocos-Creator | 需接入Poco-SDK | https://poco-chinese.readthedocs.io/zh_CN/latest/source/doc/integration.html#cocos-creator |
UE4 | 需接入Poco-SDK | https://mp.weixin.qq.com/s/_3TmmFGkgdyIU-JVUFkDWw |
Egret | 需接入Poco-SDK | https://github.com/AirtestProject/Poco-SDK/tree/master/Egret |
Airtest官網:http://airtest.netease.com/
Airtest教程官網:https://airtest.doc.io.netease.com/
搭建企業私有雲服務:https://airlab.163.com/b2b
Airtest官方答疑Q群:654700783
呀,這么認真都看到這里啦,幫忙點個推薦支持一下唄,灰常感謝~