前言
本來想先寫 laravel 的筆記,但工作上剛好碰到 openstf 就先來記錄一下安裝流程
畢竟這專案沒有繼續維護了,有些套件需要限定版本才能安裝,安裝起來一堆麻煩問題
簡單說一下,STF 是一套用 angular 和 nodejs 寫的手機控制系統
讓你可以遠端操作實體手機做任何操作,甚至安裝app
實現做法是透過 adb 對手機下指令,再搭配 rethinkdb 紀錄裝置資訊
我後續也會再寫一篇 rethinkdb 的簡易教學(用法太特別了,跟SQL完全不同)
環境
- OS : Debian 10
- VMware Workstation 15 Player
安裝流程
安裝 NVM
- 下載NVM
- source ~/.bashrc
- nvm install 8.8.1 –delete-prefix
- 確認 NVM 是否安裝成功,安裝成功的話 npm 就可以使用了
- nvm –version
- npm -v
開始安裝和設定 NPM
- mkdir ~/.npm-global
- 安裝 npm 為 6.14.5 版本太新後續會有問題
- npm install -g npm@6.14.5
- npm config set prefix ‘~/.npm-global’
- vi ~/.profile
- 添加 PATH=~/.npm-global/bin:$PATH
- nvm use –delete-prefix v8.8.1 –silent
- source ~/.profile
- NPM_CONFIG=~/.npm-global
安裝必要套件
- nvm use –delete-prefix v8.8.1
- npm install -g bower gulp
- 確認安裝是否成功
- bower -v
- gulp -v
- 確認安裝是否成功
- npm install -g node-sass
- npm install -g gulp-sourcemaps/map-sources
- sudo apt-get install -y yasm pkg-config
安裝 ADB
- sudo mkdir -p /usr/local/android-sdk
- cd /usr/local/android-sdk/
- sudo curl -OL https://dl.google.com/android/repository/platform-tools-latest-linux.zip
- sudo unzip platform-tools-latest-linux.zip
- sudo rm -f platform-tools-latest-linux.zip
- sudo ln -s /usr/local/android-sdk/platform-tools/adb /usr/bin/adb
- export PATH=/usr/local/android-sdk/platform-tools:${PATH}
- sudo echo “export PATH=/usr/local/android-sdk/platform-tools:${PATH}” >> /etc/profile
- 檢查 ADB 是否安裝成功
- adb version
安裝 rethinkDB
- sudo echo “deb http://download.rethinkdb.com/repository/debian-$(lsb_release -cs) $(lsb_release -sc) main” | sudo tee /etc/apt/sources.list.d/rethinkdb.list
- sudo wget -qO- https://download.rethinkdb.com/repository/raw/pubkey.gpg | sudo apt-key add -
- sudo apt-get update
- sudo apt-get install -y rethinkdb
- sudo cp /etc/rethinkdb/default.conf.sample /etc/rethinkdb/instances.d/instance1.conf
- 重啟 rethinDB
- sudo /etc/init.d/rethinkdb restart
安裝 Protocol Buffers libaries
- sudo apt-get install -y graphicsmagick libzmq3-dev
- 裝 3.0.0 版,3.0.0 以下的不支援了
- wget https://github.com/google/protobuf/releases/download/v3.0.0/protobuf-js-3.0.0.tar.gz
- tar -zxvf protobuf-js-3.0.0.tar.gz
- rm protobuf-js-3.0.0.tar.gz
- cd protobuf-3.0.0
- ./configure
- 如果出現 configure: error: no acceptable C compiler found in $PATH
- 安裝 gcc
- sudo apt-get install -y build-essential manpages-dev
- make;make check;make install
- 這會跑 10 分鐘以上,可以放著先去做別的事
- sudo /usr/sbin/ldconfig
- 確認是否安裝成功
- protoc –version
安裝 STF
- npm install -g stf –unsafe-perm
- 下載 OpenSTF 專案
- git clone https://github.com/openstf/stf.git
- cd stf
- nvm use 8.8.1
- npm install
- bower install
- gulp build
- 如果出現錯誤刪掉 node_modules 資料夾再重新 npm install
- npm link
- 與 stf 連結,確保 stf 是執行當前專案
- 確認 stf 相關套件都安裝完成
- stf doctor
1
2
3
4
5
6
7
8
92020-08-30T17:14:48.535Z INF/cli:doctor 29931 [*] OS Arch: x64
2020-08-30T17:14:48.537Z INF/cli:doctor 29931 [*] OS Platform: linux
2020-08-30T17:14:48.537Z INF/cli:doctor 29931 [*] OS Platform: 4.19.0-10-amd64
2020-08-30T17:14:48.537Z INF/cli:doctor 29931 [*] Using Node 8.8.1
2020-08-30T17:14:48.554Z INF/cli:doctor 29931 [*] Using ZeroMQ 4.3.1
2020-08-30T17:14:48.579Z INF/cli:doctor 29931 [*] Using ADB 1.0.41
2020-08-30T17:14:48.588Z INF/cli:doctor 29931 [*] Using ProtoBuf 3.0.0
2020-08-30T17:14:48.608Z INF/cli:doctor 29931 [*] Using GraphicsMagick 1.3.35
2020-08-30T17:14:48.618Z INF/cli:doctor 29931 [*] Using RethinkDB 2.4.1~0buster
- stf doctor
- 執行 stf
- stf local
- 如果是要開放遠端連線
stf local --cleanup --public-ip 192.168.137.129 --group-timeout 900 --allow-remote
- 把 192.168.137.129 改成你的 IP
- 打開瀏覽器輸入 localhost:7100
- 成功的話可以看這個畫面,任意輸入名稱跟信箱即可登入
- 成功的話可以看這個畫面,任意輸入名稱跟信箱即可登入