モバイル デバイスの接続文字列

接続文字列 は、テストに使用するモバイル デバイスを指定します。モバイル テストを実行する場合、Silk4J は接続文字列を使用してモバイル デバイスに接続します。接続文字列は、アプリケーション構成の主要な一部です。テスト対象アプリケーションを構成するときに、接続文字列は設定されます。接続文字列を変更するには、アプリケーション構成の編集 ダイアログ ボックスを使用します。

注: Silk Central からテストを実行する場合、接続文字列を指定する代わりに、Silk Central の実行定義の 配置 タブにある モバイル デバイスの選択 領域でモバイル デバイスを指定します。詳細については、『Silk Central ヘルプ』を参照してください。
デバイス プールなどがある場合に、特定のモバイル デバイスを指定したり、利用可能なデバイス群のサブセットをフィルタするために接続文字列を使用できます。最初に一致したデバイスが再生に使用されます。特に指定がない場合には、次のルールに従って一致したモバイル デバイスが使用されます(高い優先度順)。
  • リモート ロケーションに接続されたモバイル デバイスよりも、ローカル マシンに接続されたモバイル デバイスが優先されます。
  • ブラウザーの種類が接続文字列で指定されている場合、古いバージョンのブラウザーよりも、新しいバージョンのブラウザーが優先されます。
  • 古いプラットフォームよりも、新しいプラットフォームが優先されます。
  • 物理デバイスがエミュレータやシミュレータよりも優先されます。
  • アルファベット順で後者のデバイス名のデバイスが優先されます。たとえば、"iphone 5"という名前のデバイスよりも、"iphone 6"という名前のデバイスが優先されます。

次のコンポーネントが接続文字列で使用できます。

コンポーネント 説明
deviceName モバイル デバイスの名前。物理モバイル デバイス上でテストをする場合、デバイス ID を代わりに使用します。ワイルドカードをサポートします。大文字と小文字は区別されません。
platformName Android または iOS。必須。
deviceId 省略可能:モバイル デバイスの ID。物理モバイル デバイスでテストをする場合に、デバイス名の代わりに使用します。ワイルドカードをサポートします。大文字と小文字は区別されません。
platformVersion 省略可能:Android または iOS のバージョン。特定の Android または iOS のバージョンのモバイル デバイス上でのみテストする場合に、バージョンを指定します。ワイルドカードをサポートします。大文字と小文字は区別されません。
browserVersion 省略可能:特定のブラウザーのバージョンでのみテストする場合に、ブラウザーの種類と共に使用します。ワイルドカードをサポートします。大文字と小文字は区別されません。
host 省略可能:設定しない場合は、任意のリモート ロケーションがホストとして使用されます。ワイルドカードをサポートします。大文字と小文字は区別されません。
app モバイル デバイスにまだインストールされていないアプリへのフルパス。たとえば、app=MyApp.apk です。
  • appPackage
  • appActivity
Android デバイスにインストールされているアプリをテストする場合は、使用するアプリのパッケージとアクティビティの両方を指定します。たとえば、appPackage=silktest.insurancemobile;appActivity=.LoginActivity です。
bundleId iOS デバイスにインストールされているアプリのバンドルの識別子。たとえば、app=MyApp.ipa または bundleId=silktest.InsuranceMobile などです。
mobileCenterAppIdentifier Mobile Center によって管理されているモバイル デバイスにインストールされているアプリの識別子。たとえば、mobileCenterAppIdentifier=com.microfocus.silktest.testapp です。
mobileCenterAppUploadNumber Mobile Center によって管理されているモバイル デバイスにインストールされているアプリのアップロード番号。複数回アップロードされたアプリケーションを一意に識別するために使用します。この番号が指定されていない場合は、Silk4J は最新のアップロードを使用します。たとえば、mobileCenterAppUploadNumber=3 です。
noReset 省略可能:ネイティブ モバイル アプリケーションをテストする場合に設定できます。app が指定されている場合にのみ有効です。テストの前にアプリを再インストールしない場合は True。テストの前にアプリを再インストールする場合は False を指定します。デフォルト値は、False です。
isSimulator 省略可能:iOS シミュレータ上でのみテストを実行する場合に指定します。デバイス名を代わりに使用できます。
isPhysicalDevice 省略可能:物理デバイス上でのみテストを実行する場合に指定します。デバイス名を代わりに使用できます。

デバイス プールを使用して、テストで実際に使用されるデバイスを確認するには、MobileDevice クラスの generateConnectionString メソッドの戻り値を使用できます。

モバイル デバイスまたは Android エミュレータ上のモバイル Web アプリケーションのテスト

モバイル デバイスまたは Android エミュレータ上でモバイル Web アプリケーションをテストする場合、接続文字列は次の要素から構成されます。

  1. モバイル デバイス名(MotoG3 など)、またはデバイス ID(11111111 など)。
    注: デバイス ID は可読性に欠けるため、デバイス名がユニークであれば、デバイス名を接続文字列に使用することを Micro Focus では推奨します。
  2. プラットフォーム名。
  3. ブラウザーのバージョン。ブラウザーの種類の設定との組み合わせでのみ使用されます。
  4. 特定のリモート マシンの IP アドレスまたはホスト名(10.0.0.1 など)。リモート ロケーションの編集 ダイアログ ボックスで指定したリモート ロケーションの名前をホスト名として使用することもできます(MyRemoteLocation など)。リモート ロケーション名を使用する場合に、ワイルドカードを使用することもできます。ローカル マシンに接続されている Android デバイスをテストする場合は、ローカル マシンの IP アドレスまたはホスト名を指定します。

例:利用可能な任意の Android デバイスの接続文字列

"platformName=Android"

例:ローカル マシンに接続されている Android デバイス上のブラウザーに対する接続文字列

ローカル マシンに接続されている Android デバイス上でモバイル ブラウザーをテストするには、接続文字列は次のようになります。
"deviceName=MotoG3;platformName=Android;host=localhost"
または
"platformName=Android;deviceId=11111111;host=localhost"

例:リモート マシンに接続されている Android デバイス上のブラウザーに対する接続文字列

リモート Android デバイス上のモバイル ブラウザーをテストするには、接続文字列は次のようになります。
"deviceName=MotoG3;platformName=Android;host=10.0.0.1"
"deviceName=MotoG3;platformName=Android;host=MyRemoteLocation*"

例:Mobile Center によって管理されている Android デバイスの接続文字列

Mobile Center によって管理されているデバイス上で、CI サーバーやコマンド ラインからテストを再生したい場合は、リモート接続を構成する代わりに、デバイスの接続文字列を指定できます。接続文字列は次のようになります。
"deviceName=MotoG3;platformName=Android;host=http://<Mobile Center server>:8080;hostType=MC;userName=<Mobile Center user name>;password=<Mobile Center password>"
注: セキュリティ上の理由から、Silk4J で新しいアプリケーション構成を作成すると、Mobile Center パスワードは暗号化されて保存されます。 接続文字列では、この暗号化されたパスワードを使用することを Micro Focus は推奨します。

例:Mac に接続されている iOS デバイス上のブラウザーに対する接続文字列

リモート iOS デバイス上のモバイル ブラウザーをテストするには、接続文字列は次のようになります。
"deviceName=myiPhone6;platformName=iOS;host=10.0.0.1"

モバイル デバイスまたは Android エミュレータ上のネイティブ モバイル アプリケーションのテスト

モバイル デバイスまたは Android エミュレータ上でネイティブ モバイル アプリケーションをテストする場合、接続文字列は次の要素から構成されます。
  1. モバイル デバイス名(MotoG3 など)、またはデバイス ID(11111111 など)。
    注: デバイス ID は可読性に欠けるため、デバイス名がユニークであれば、デバイス名を接続文字列に使用することを Micro Focus では推奨します。
  2. プラットフォーム名。
  3. 特定のリモート マシンの IP アドレスまたはホスト名(10.0.0.1 など)。リモート ロケーションの編集 ダイアログ ボックスで指定したリモート ロケーションの名前をホスト名として使用することもできます(MyRemoteLocation など)。リモート ロケーション名を使用する場合に、ワイルドカードを使用することもできます。ローカル マシンに接続されている Android デバイスをテストする場合は、ローカル マシンの IP アドレスまたはホスト名を指定します。
  4. テストするアプリのファイルの名前または、ファイルが Web サーバー上にある場合には、ファイルの URL。たとえば、C:/MyApp.apkMyApp.ipa など。
    • Android アプリは、常に .apk ファイルを指定します。
    • 物理デバイス上の iOS アプリは、常に .ipa ファイルを指定します。
    • シミュレータ上の iOS アプリは、ZIP ファイルまたは、app という名前のディレクトリを指定します。

例:リモート マシンに接続されている Android デバイス上のアプリに対する接続文字列

リモート マシンに接続されている Android デバイス上で MyApp.apk アプリをテストするには、接続文字列は次のようになります。
"platformName=Android;deviceName=MotoG3;host=http://10.0.0.1;app=MyApp.apk"

例:Mac に接続されている iOS デバイス上のアプリに対する接続文字列

リモート マシンに接続されている iOS デバイス上で MyApp.ipa アプリをテストするには、接続文字列は次のようになります。
"platformName=iOS;deviceName=MyiPhone;host=http://10.0.0.1;app=MyApp.ipa"

iOS シミュレータ上のモバイル Web アプリケーションのテスト

iOS シミュレータ上でモバイル Web アプリケーションをテストする場合、接続文字列は次の要素から構成されます。
  1. プラットフォーム名(iOS)。
  2. プラットフォームのバージョン(10.0 など)。
  3. モバイル デバイス名(iPhone6 など)。
  4. iOS シミュレータを実行している Mac の IP アドレスまたはホスト名。

例:Mac の iOS シミュレータ上のブラウザーに対する接続文字列

"platformName=iOS;platformVersion=10.0;deviceName=iPhone6;host=10.0.0.1;isSimulator=true"

iOS シミュレータ上のネイティブ モバイル アプリケーションのテスト

Mac の iOS シミュレータ上でネイティブ モバイル アプリケーションをテストする場合、接続文字列は次の要素から構成されます。
  1. プラットフォーム名(iOS)。
  2. プラットフォームのバージョン(10.0 など)。
  3. モバイル デバイス名(iPhone6 など)。
  4. リモート マシンの IP アドレスまたはホスト名(10.0.0.1 など)。
  5. テストするアプリの名前(MyApp.ipa など)。

例:Mac の iOS シミュレータ上のアプリに対する接続文字列

"platformName=iOS;platformVersion=10.0;deviceName=iPhone6;host=10.0.0.1;app=MyApp.ipa;isSimulator=true"