LoginSignup
23

More than 5 years have passed since last update.

OpenSTF を使ってリモートテスト環境を自宅に構築する

Posted at

OpenSTF とは

OpenSTF とは、OSS で開発が進められている Android 端末をブラウザで操作・管理するためのパッケージです。
OpenSTF を立ち上げたサーバに各種 Android 端末(ハンドセット端末、ウェア端末など)を接続することで、OpenSTF を介してリモートから端末の操作やデバッガのアタッチなど、テストに必要なあれこれが利用できるようになります。

OpenSTF サーバを作ろう

今回は、自宅等の環境で OpenSTF サーバを作ることを前提に考えます。

Ubuntu で OpenSTF を構築する場合は、Ubuntu 14.04 LTS 上での手順に従いますが、Ubuntu 16.04 LTS 上でも問題なく動作します。

環境が整ったら、以下のように OpenSTF をインストールします。

$ npm install -g stf

この後、rethinkdb と adb を立ち上げ、stf を起動します。

$ rethinkdb &
$ adb start-server
$ stf local --public-ip <ip_addr>

--public-ipには任意の IP アドレスを入力します。クライアント PC からはこの IP アドレスを打ち込んでアクセスすることになります。

VPN で OpenSTF サーバを公開する

OpenSTF を公開する際、いくつか気をつけるべきポイントがあります。

  1. ファイアウォールの設定で OpenSTF の使用するポートのほか、Android のデバッガが使うポートも開放する必要がある
  2. OpenSTF にはパスワードによるユーザ認証の機能がないため、そのままインターネット上に公開してしまうともれなく接続している端末をインターネットに大公開してしまう

1.は Ubuntu であれば、ufw の設定と、ルータ側の設定を変更します。
2.については、VPN 上でのみ公開するようにすれば、VPN にアクセス可能な人だけが OpenSTF を使える状態にできます。

VPN を利用する場合は、OpenVPN を Ubuntu でセットアップする手順を参考にすると良いでしょう。

この他、必要に応じて SSH サーバを立てたり、DDNS の設定をしたりすれば無事に公開できます。

使用感

OpenSTF サーバをアメリカ国内にたてて、T-Mobile の LTE ネットワークから VPN 経由で OpenSTF を Nexus5X から使用した場合、画面が操作に追随するまでに数秒を要しています。ネットワーク環境が強くなれば、この遅延は改善されるものと思います。
ちなみに、OpenSTF サーバ自身は以下のようなスペックで構成されています。

  • CPU: Intel Core 2 Duo P7550 2.26GHz
  • Mem: 3.8GiB
  • Disk: SSD 1TB
  • OS: Ubuntu 16.04 LTS 64bit

同ネットワークあるいはサーバ自身が OpenSTF を使う場合でも多少の遅延はありますが、問題なく動いています。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23