1. 程式人生 > 實用技巧 >專案接入Poco-SDK,你必須知道的一些問題

專案接入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

解壓,然後將其中的Unity3D資料夾放到你Unity專案的Scripts的任意位置中:

注意,這裡所說的Scripts指的就是unity遊戲專案的原始碼。

3)根據UI型別選擇

詢問程式使用的是哪種UI方式,SDK中有三個資料夾 uguinguifairygui ,保留其中一種刪除另外兩種,比如上圖選擇的就是 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

呀,這麼認真都看到這裡啦,幫忙點個推薦支援一下唄,灰常感謝~