專案接入Poco-SDK,你必須知道的一些問題
前言
很多新手同學想要使用我們的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
注意,這裡所說的Scripts指的就是unity遊戲專案的原始碼。
3)根據UI型別選擇
詢問程式使用的是哪種UI方式,SDK中有三個資料夾 ugui
、 ngui
、 fairygui
,保留其中一種刪除另外兩種,比如上圖選擇的就是 ugui
。其餘兩種請務必刪除,不然unity會報錯。
4)在unity載入指令碼
建立一個空的 GameObject
(右鍵-Create Empty),新增指令碼(Add Component):
其他引數預設即可,GameObject
名字隨意。
或者,同學們也可以在 root 或者 主camera 這些 GameObject
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
呀,這麼認真都看到這裡啦,幫忙點個推薦支援一下唄,灰常感謝~