-
Notifications
You must be signed in to change notification settings - Fork 8
dConnectSDKForJavascriptTest
本ドキュメントは、Javascriptのテストを動作手順を解説します。
なお、下記に関する知識のある読者を対象とし、これらの解説は省略します。
- HTML
- JavaScript
- DeviceConnect-Android
- DeviceConnect-iOS
- 1. dConnectSDKForJavascriptTestテストの準備
- 2. dConnectSDKForJavascriptTestテストの開始
- 3. 直接WiFi接続を行うデバイスのテスト
- 4. テスト結果の取得
Android版 Device Connect Managerについては、こちらを参照して、インストールを行ってください。
iOS版 Device Connect Managerについては、こちらを参照して、インストールを行ってください。
テスト用のソースコードを取得します。
$ curl -LkO https://github.com/DeviceConnect/DeviceConnect-JS/archive/master.zip
$ unzip master.zip
ローカルの環境でテストを実行するために以下の設定を修正します。
/dConnectSDKForJavascriptTest/dconnect-test-util.jsをテキストエディタで開きます。
以下の二つのパラメータを必要に応じて修正してください。
var DEVICE_CONNECT_HOST = "localhost";
var TEST_TIMEOUT = 20000;
PC上のブラウザからテストする場合には、DEVICE_CONNECT_HOSTには、テストを行う端末のIPアドレスを指定します。
テスト項目がタイムアウトするまでの時間を設定する場合は、TEST_TIMEOUTをミリ秒単位で時間を設定してください。
※PCのChromeブラウザからテストを行う場合には、外部IPへのXMLHttpRequestの通信が連続で行えずにエラーになることがありますので、ご注意ください。
THETAのテストを行う場合には、以下の設定が必要になります。
/dConnectSDKForJavascriptTest/tests/theta_omnidirectional_image_test.htmlをテキストエディタで開きます。
以下のパラメータに全天球画像が配置してあるURLを指定してください。
/**
* THETAデバイスプラグインに送信する全天球画像のURI.
*/
var OMNI_IMG_URI = '';
WebRTCのテストを行う場合には、以下の設定が必要になります。
/dConnectSDKForJavascriptTest/tests/webrtc_test.htmlをテキストエディタで開きます。
以下のパラメータを修正してください。
/**
* SkyWayを使用する場合のAPI KEYを定義する。
*/
var API_KEY = "[ YOUR API KEY ]";
/**
* ドメイン名を定義する。
*/
var DOMAIN = "[ YOUR DOMAIN ]";
/**
* VideoChat Call APIのパラメータvideoに設定するURI。
*
* MotionJPEG、PNG、JPEGの画像へのURIを設定すること。
*/
var VIDEO_URI = "[ YOUR VIDEO URI ]";
/**
* VideoChat Call APIのパラメータaudioに設定するURI。
*
* サンプルレート: 48kHZ、チャンネル: モノラル、ビット深度: 32bit-floatの音声データへのURIを設定すること。
*/
var AUDIO_URI = "[ YOUR AUDIO URI ]";
以下のコマンドでAndroidのsdcardにtestフォルダを作成してください。
既にフォルダが存在する場合、作り直す必要はありません。
$ adb shell
$ cd sdcard
$ mkdir test
以下のコマンドで、DeviceConnect-JS/dConnectSDKForJavascriptTestフォルダの中身をすべて、Android端末の/sdcard/testに転送してください。
$ adb push ./dConnectSDKForJavascriptTest /sdcard/test
無事転送が完了すれば、テスト用HTMLファイルの配置は完了です。
iOSの場合は、dConnectBrowserからHTMLを読み込むために、Webサーバーが必要になります。
用意したWebサーバ上に、dConnectSDKForJavascriptTestフォルダ内のファイルを配置してください。
これで、テスト用HTMLファイルの配置は完了です。
前提条件として、テストを行う各デバイスが接続されていることを確認して下さい。
Android端末のChromeブラウザから、以下のURLを開いてください。
file:///sdcard/test/index.html
テストを行うデバイスのリンクをクリックすると、そのデバイスに対してのテストが開始されます。
※PC上のブラウザからテストを行うときは、スマートフォン上のDevice Connect ManagerのAllow External IPの設定をONにしてください。
iOS端末にインストールされている、dConnectBrowserから、以下のURLを開いてください。{IP_ADDRESS}の部分には、用意したサーバーに指定されたIPアドレスを入力してください。
http://{IP_ADDRESS}/test/index.html
テストを行うデバイスのリンクをクリックすると、そのデバイスに対してのテストが開始されます。
SonyCameraおよび、Thetaはスマートフォンと直接WiFi接続を行うため、ネットワークに接続した状態でテストを行うことができません。
そのため、以下のような手順でテストを行う必要があります。
まず、SonyCameraのQUnitが実行されるページを表示します。
SonyCameraを使用したテストの場合は、/dConnectSDKForJavascriptTest/tests/sony_camera_test.html を使用します。
Thetaを使用したテストの場合、目的に応じて以下ファイルを参照ください。
- 全天球イメージの確認:/dConnectSDKForJavascriptTest/tests/theta_omnidirectional_image_test.html
- 動画撮影機能の確認:/dConnectSDKForJavascriptTest/tests/theta_record_test.html
- 静止画撮影機能の確認:/dConnectSDKForJavascriptTest/tests/theta_takepicture_test.html
以降の手順については、Thetaの場合もSonyCameraと同様の手順となります。
SonyCameraとWiFiを接続します。
テスト画面に戻り、「〜と接続したら押してください」というボタンをクリックするとテストが開始されます。
Android側は、PC側ChromeのWebインスペクタを使用すればテスト結果のXMLをログとして取得することができる。
しかし、iOS側はPC側のSafariのWebインスペクタではテスト結果を取得することができないため、dConnectDeviceHostを使用してスマートフォンのストレージに保存し、その結果を取り出すという方法によりテスト結果を取得できる。
スマートフォンのSDカードの中で、「org.deviceconnect.android.deviceplugin.host」にアクセスする。
その中に、QUnit実行が完了した場合、「デバイスプラグイン_test_日付.xml」というファイルが出来ている。
このファイルをツールにかけたりすることによって、HTMLファイルへの変換をすることができる。
iOSの場合は、Xcodeを使用する必要がある。
メニューの「Window>Devices」をクリックする。
その中から、「dConnectBrowserForIOS9」をダブルクリックしてください。すると、以下のような画面が表示されるので、「Library/Application Support/DPHostDevicePlugin」を開くと、QUnit実行後に保存されたファイルがあるはずです。
このファイルを取得するには、「dConnectBrowserForIOS9」を選択した状態で、Windowの一番下にある設定ボタンをクリックします。その中から、「Download Container」を選択することでPC上の任意の場所にアプリ内のデータを保存することができます。
そのデータの中に、先ほどのテストデータが入っていますので、それを適宜取り出し、ファイルをツールにかけ、適宜HTMLファイルへ変換してください。