什么是OpenSTF?
OpenSTF(Smartphone Test Farm)是一個web端移動設備管理平台,可以從瀏覽器端遠程調試、遠程管理設備。其實有點類似於我們現在很火熱的雲測平台,如:testin、百度MTC等等。並且這個項目在Github上開源:https://github.com/openstf/stf, 遵循Apache License 2.0開源協議。很多公司內部團隊現在都開始通過STF建設自己的平台。
先看看項目的運行效果截圖(摘抄自官網)

支持的功能
- Android 2.3 ~ Android 9.0 (IOS目前不支持)
- 手機不需要root
- 實時屏幕演示(刷新速率可達30-40fps)
- 遠程控制(包括點擊、輸入數據、復制粘貼)
- 安裝、卸載應用
- 執行shell命令
- 支持chrome遠程調試工具
- 文件資源管理器訪問設備文件系統
- ......
安裝部署(虛擬機+Docker)
官方推薦用Linux系統或者Mac系統來部署STF環境,因為Windows下adb連接不是很穩定。由於我個人PC安裝的是Windows,所以只好通過虛擬機來搭建這樣一套環境。現在STF支持通過Docker來安裝,要比傳統安裝方式省事很多,所以也推薦大家用Docker安裝方式。
虛擬機安裝Ubuntu系統
選用Vmware Workstation或者VitualBox都可以,個人選用的是Vmware,安裝的Ubuntu版本是16.04 LTS,這一步大家可以從網上搜索到很多教程,就不再贅述。
Vmware設置網絡橋接模式
安裝Docker
$ sudo apt-get update # 更新軟件包
$ sudo apt-get install docker-ce docker-ce-cli containerd.io # 安裝Docker
拉取STF相關鏡像
$ sudo docker pull openstf/stf:latest # STF鏡像
$ sudo docker pull sorccu/adb:latest # adb 鏡像
$ sudo docker pull rethinkdb:latest # rethinkdb 鏡像
$ sudo docker pull openstf/ambassador:latest # ambassador 鏡像
$ sudo docker pull nginx:latest # nginx 鏡像
查看所有的鏡像
sudo docker images
啟動鏡像
$ docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb
--bind all --cache-size 8192 --http-port 8090 # 啟動rethinkdb數據庫
$ docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb
--net host sorccu/adb:latest # 啟動adb
$ docker run -d --name stf --net host openstf/stf stf local
--public-ip 192.168.140.129 # 啟動stf 啟動的時配置的IP地址通過ifconfig命令查詢到的結果
查看運行中的容器
$ sudo docker ps -a
最后在虛擬機里的瀏覽器或者本地PC端瀏覽器輸入:http://192.168.140.129:7100 即可訪問
默認用戶名密碼用任意字符串即可登錄上