Skip to content

dConnectSDKForJavascriptTest

TakayukiHoshi1984 edited this page Mar 27, 2017 · 4 revisions

はじめに

本ドキュメントは、Javascriptのテストを動作手順を解説します。

なお、下記に関する知識のある読者を対象とし、これらの解説は省略します。

  • HTML
  • JavaScript
  • DeviceConnect-Android
  • DeviceConnect-iOS

目次

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ファイルへ変換してください。

Clone this wiki locally