項目接入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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM