OpenSTFを使うと、接続しているAndroidの端末情報とか使用中かどうかとかがAPIから管理できて便利。
これを別のネットワークからも使いたい、というのが今回のニーズ。
例えば、
- AWS Device Farmと同じことを低コストで実現したい
- 東京の本社にはテスト用端末がたくさんあるけど、島根の開発拠点にはほとんどなくて不便
みたいなケースで有用なはず。
やったこと
OpenSTFは同一のLAN内からの利用を想定しているので、別ネットワークから使いたい場合は一工夫いる。
VPNで繋ぐのは、CircleCIとかがVPN使えないので避けて、SSHポートフォワーディングを使った。
メルカリの記事の劣化版みたいな感じです。
違いとしては、
- 構成がメルカリのほど高度じゃない
- テストの実行にKatalonを使ってる
とか。
使い方
READMEに書いてあります。
https://github.com/spinylobster/openstf-katalon-test
日本語はこっち -> https://github.com/spinylobster/openstf-katalon-test/blob/master/README.ja.md
注意事項
原因は詳しく見れてないんだけど、OpenSTFが起動から数分で落ちてめちゃくちゃ不便。調査中にいつの間にか落ちるようになってて謎
OpenSTFが落ちた時は、
-
docker-compose down
Katalon側を一度止める -
docker-compose up stf
でOpenSTFを再度立ち上げる -
http://127.0.0.1:7100
でアクセスできることを確認したら、再度Katalon側のstart.sh
を実行する
という手順でリカバリーしてください
その他の課題としては、
- 個別のテストケースのコードを直接変更している (最低限、Test Suitesのsetupに入れるべき)
- 複数端末・並列実行に対応していない
- CircleCIやBitriseから実行できるか試してない
など。