1.環境搭建前提
官方文檔: https://github.com/openstf/stf
openstf是一個手機設備管理平台, 核心就是遠程
所有操作都可以在遠程,手機不用數據線連接電腦,直接可以在同一個網段進行wifi連接,wifi連接主機后就可以遠程管理控制手機
可以對手機進行遠程管理、調試、遠程手機桌面監控等操作
1)windows環境,建議安裝虛擬機(ubuntu、centos),使用docker安裝,openstf不支持windows系統的安裝, 可能需要安裝十幾個包,和依賴以及各種版本的限制
2)mac環境,不建議使用mac安裝docker,使用docker安裝,一是可以直接macos系統上直接安裝,另:安裝雙系統,使用docker安裝,建議第一種
3)公網服務器上搭建,不建議使用,因為設備遠程管理的前提是在同一個局域網下;使用公網環境,需要端口反射等技術操作,並且這樣的話,任何人都可以訪問到你的設備,不建議使用
4)stf安裝需要java8環境和adb環境(連接手機)
2.環境搭建
這里介紹docker安裝和mac系統的安裝
1)docekr安裝
拉取鏡像:
docker pull openstf/stf:latest docker pull sorccu/adb:latest( adb建議安裝sdk,設置安裝路徑,不建議用docker) docker pull rethinkdb:latest
安裝后, 一定要先啟動rethinkdb后啟動stf
docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
命令介紹: 網絡模式一定要注意選擇host模式, -v掛載,掛載目錄,一定要找一個可以掛載的目錄,一定要設置稱自己的目錄,他是把容器中的目錄掛載到宿主機的目錄上,一定要加--bind all參數
啟動stf
docker run -d --name stf --net host openstf/stf stf local --allow-remote --public-ip XXX
命令介紹: 一定要加參數--allow-remote,是要允許遠程調試的, 一定要保證你的環境有sdk,--public-ip參數是當你不是本地訪問的時候需要加的,因為一般都是將stf平台服務和真機放在一個地方,用另一台機器去訪問這些設備,這個時候需要加!本地訪問就不需要了
訪問stf:127.0.0.1:7100 或者自己配置的IP:7100
2)mac安裝
根據官網上的介紹https://github.com/openstf/stf安裝stf依賴只需要一行命令
brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config
安裝stf:
mac安裝遇到了一些坑
參考的以下博主的寶貴經驗:
https://www.jianshu.com/p/5fe8cb7d214f
這里注意要使用cnpm或者npm和node對應的版本安裝stf的時候才不會報錯
因為之前安裝一直報錯,如果有緩存清理不徹底,可以使用該博主的方法,清理掉緩存: https://www.jianshu.com/p/ef1e66e703dc
最后安裝成功后,啟動rethinkdb;一開始沒有加參數,找不到設備
rethinkdb --bind all
啟動stf
stf local --allow-remote
這樣就可以訪問本地的stf了, 賬號密碼可以隨便輸入
3.連接設備
真機連接
模擬器連接
打開模擬器,使用adb命令查看設備是否連接上,如果連接上后,stf還沒有展示出來,報錯如下:
使用以下命令:
設備需要先打開設置頁,才能檢測到: adb shell am start -n jp.co.cyberagent.stf/.IdentityActivity
最后看到的頁面如下: