最近巷で話題のSTF。
クラスタの方ではなく、Smartphone Test Farmです。
PCに複数のAndroidをつなぎ、それらをWebブラウザから操作できるという代物です。
Android appを作成していて、複数端末で動作確認したい時があります。
そんな時に重宝しそうです。
早速ですがmacにSTFをインストールしてみたので、自分メモのためにも記事を残しておきます。
ほとんどはhomebrew でできますが、途中makeしないといけないようなものもあって手間はかかります。
STF(Smartphone Test Farm)をmacにinstallしてみた
STFのインストールに必要なのは以下のとおりです(Gitより)
- Node.js >= 0.12
- ADB properly set up
- RethinkDB >= 2.2
- GraphicsMagick (for resizing screenshots)
- ZeroMQ libraries installed
- Protocol Buffers libraries installed
- yasm installed (for compiling embedded libjpeg-turbo)
- pkg-config so that Node.js can find the libraries
RethinkDBのインストール
$ brew install rethinkdb
GraphicsMagickのインストール
$ brew install graphicsmagick
ZeroMQのインストール
$ brew install zeromq
Protocol Buffersのインストール
$ brew install protobuf
yasmのインストール
$ cd /usr/local/src/
$ sudo curl -O http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
$ sudo tar zxvf yasm-1.2.0.tar.gz
$ cd yasm-1.2.0
$ sudo ./configure --prefix=/usr/local
$ sudo make
$ sudo make install
この後からのインストールで、「〜がない!」みたいなことを言われますのでそれらインストールの準備もします。
macPortsのインストール
ここからダウンロードして普通にインストール
pkg-configのインストールのあたりで「libtoolがない!」と言われるのでlibtoolのインストール
$ sudo port install libtool
pkg-configのインストールあたりで「aclocalがない!」みたいに言われるのでそれらもインストール
$ brew install autoconf
$ brew install automake
pkg-confgのインストール(これが一番大変でした...)
$ cd /usr/local/src/
$ sudo curl http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz -o pkgconfig.tgz
$ sudo tar -zxf pkgconfig.tgz && cd pkg-config-0.28
$ sudo ./configure
$ sudo make
$ sudo make install
もし途中で以下が出るなら・・・
configure: error: Either a previously installed pkg-config or "glib-2.0 >= 2.16" could not be found. Please set GLIB_CFLAGS and GLIB_LIBS to the correct values or pass --with-internal-glib to configure to use the bundled copy.
これを実行
$ sudo ./configure --with-internal-glib
$ sudo make
$ sudo make install
node.jsやnpmのためにnodebrewのインストール
$ curl https://raw.githubusercontent.com/hokaccha/nodebrew/master/nodebrew | perl - setup
インストール確認
$ nodebrew help
ヘルプが表示されない場合はPATHが通っていないと思いますので・・・
$ echo $PATH
で、確認。
ないようでしたら.bash_profileを編集
$ vi ~/.bash_profile
export PATH=$HOME/.nodebrew/current/bin:$PATH
を追記してください。
(viはaで編集できます。escで編集終わり、:wqでセーブして保存です)
パスの設定後はターミナル再起動必須です。
node.js / npmのインストール
$ nodebrew install latest
30分はかかるかと思います。
終わったら最新を使うように設定します
$ nodebrew use latest
インストールできたか、バージョン情報を表示させて確認。
$ node -v
$ npm -v
ようやく最後。
STFのインストール
$ npm install -g stf
ここからSTFの起動です。
RethinkDBの起動
$ rethinkdb
STFの起動
$ stf local --public-ip 192.168.0.10
IPは公開用アドレスです。
自分のPCのアドレスを調べましょう。
システム環境設定>ネットワーク
で、IPアドレスが表示されていると思います。
NameとE-mail
ここは適当で入れましたw
Name : user
E-mail : mail@gmail.com
端末の接続
こちらは別途説明がたくさんありますので、そちらをご参照ください。
動いている様子。
Nexus7をつなぎましたが、遅延はほぼなしで動作!
普通にPCでスマホを操作したい時も良いかもしれませんねw