このサイトでは、Mobile Application Testing はサポートされていません。
概要 Mobile Application Testing は、実際のデバイスを使用して Android および iOS アプリケーションの主要なビジネスフローをテストし、監視することができます。
Datadog はこれらのテストを実際のデバイス上で実行し、アプリケーションの主要なワークフローをステップごとにリアルに再現します。各ステップのスクリーンショットや合否の詳細な結果が提供されるため、チームは不具合がどこで起きたかを迅速に把握できます。
モバイルアプリテストは、スケジュール設定に基づいて、オンデマンドで、または CI/CD パイプライン 内で直接実行できます。
Datadog でモバイルアプリテストを作成するには、Digital Experience > New Test に移動し、Mobile Application Test を選択します。
構成 You may create a test using one of the following options:
スニペット 新しいモバイルアプリケーションテストを構成する際は、スニペットを使用すると、OS バージョン・デバイスサイズ・メーカー・稼働時間などを手動で選択する代わりに自動的に入力できます。利用可能なスニペットは以下のとおりです。
Device Size : 特定のサイズの画面でモバイルアプリケーションテストを自動的に実行します。
Multi-screen size Tablet (タブレット) Large Screen (iOS のみ) Standard Screen (iOS のみ) Small Screen (iOS のみ) OS Version : iOS または Android アプリを複数バージョンで自動的にテストします。この選択は、モバイルアプリケーションの種類に応じて iOS か Android のいずれかに切り替わります。
Device Manufacturer (Android のみ) : 複数のデバイスメーカーにわたって Android アプリを自動的にテストします。
Uptime : 利用可能な最短間隔 (15 分ごと) でテストを自動的に設定します。
変数 Create local variables To create a local variable, click Create a Local Variable . You can select one of the following available builtins to add to your variable string:
{{ numeric(n) }} Generates a numeric string with n
digits. {{ alphabetic(n) }} Generates an alphabetic string with n
letters. {{ alphanumeric(n) }} Generates an alphanumeric string with n
characters. {{ date(n unit, format) }} Generates a date in one of Datadog’s accepted formats with a value corresponding to the UTC date the test is initiated at + or - n
units. {{ timestamp(n, unit) }} Generates a timestamp in one of Datadog’s accepted units with a value corresponding to the UTC timestamp the test is initiated at +/- n
units. {{ uuid }} Generates a version 4 universally unique identifier (UUID). {{ public-id }} Injects the Public ID of your test. {{ result-id }} Injects the Result ID of your test run. To obfuscate local variable values in test results, select Hide and obfuscate variable value . Once you have defined the variable string, click Add Variable .
グローバル変数を使用する モバイルアプリテストの詳細の Starting URL と Advanced Options 、およびテストの記録で Settings で定義されているグローバル変数 を使用してローカル変数を定義することができます。利用可能な変数のリストを表示するには、目的のフィールドに {{
と入力してください。
記録を開始する前に、ユーザージャーニーに組み込む変数を定義します。
記録中に利用可能な変数を注入することができます。モバイルテストの記録で変数を使用する方法については、モバイルアプリのテストステップ を参照してください。
テストの再試行 通知アラートをトリガーする前に、テストが失敗するまでの時間を指定できます。
失敗した場合、Y
ミリ秒後に X
回再試行します。 スケジュールとアラート デフォルトでは、モバイルアプリテストはオンデマンドテスト用に設定されており、これらのテストは CI パイプラインで直接 実行できます。
アラート条件をカスタマイズして、アラートを送信する頻度や、テストが通知アラートを送信する状況を定義できます。
X
分間いずれかのアサーションが失敗すると、アラートがトリガーされます。テストモニターを構成する 設定されたアラート条件に従って、通知が送信されます。このセクションを使用して、チームにメッセージを送る方法と内容を定義します。
モバイルアプリテストのメッセージ を入力します。このフィールドでは、標準のマークダウン形式 のほか、以下の条件付き変数 を使用できます。
条件付き変数 説明 {{#is_alert}}
モニターがアラートを発する場合に表示します。 {{^is_alert}}
モニターがアラートを発しない限り表示します。 {{#is_recovery}}
モニターが alert
から回復したときに表示します。 {{^is_recovery}}
モニターが alert
から回復しない限り表示します。 {{#is_renotify}}
モニターが再通知したときに表示します。 {{^is_renotify}}
モニターが再通知しない限り表示します。 {{#is_priority}}
モニターが優先順位 (P1~P5) に一致したときに表示します。 {{^is_priority}}
モニターが優先順位 (P1~P5) に一致しない限り表示します。
通知メッセージには、このセクションで定義されたメッセージ や、失敗した場所に関する情報が記載されます。
通知するメンバーやサービスを選択します。
再通知の頻度を指定します。テストの失敗を再通知しない場合は、Never renotify if the monitor has not been resolved
オプションを使用してください。
Save & Edit Recording をクリックして、テスト構成を保存し、モバイルアプリのテストステップを記録します。
詳しくは、Synthetic テストモニターの使用 をご覧ください。
不安定性 不安定さはエンドツーエンドテストにおける痛点です。テストの失敗は、実際のアプリケーションの問題ではなく、ID に影響を与える妥当なフロントエンドのコード変更が原因となる場合があります。
Datadog では、不安定なテストを防ぐために、ロケータのセットを活用したアルゴリズムを使って、モバイルアプリテストで要素をターゲットにしています。UI の小さな変更により、要素が変更されることがあります (例えば、別の場所に移動する)。モバイルアプリテストは、変更によって影響を受けない参照ポイントに基づいて、自動的に要素の位置を再確認します。
テストが正常に実行されると、モバイルアプリテストは壊れたロケータを更新された値で再計算 (または「自己修復」) します。これにより、単純な UI の更新でテストが壊れることがなく、テストがモバイルアプリケーションの UI に自動的に適応することを保証します。
CI でテストを実行する 必要に応じてテスト synthetics.json
ファイル とグローバルコンフィギュレーション synthetics-ci.config
ファイル で mobileApplicationVersionFilePath
オプションを定義することで、CI パイプラインでモバイルアプリのテストを実行できます。グローバルコンフィギュレーションファイルのオプションは、テストコンフィギュレーションファイルのオプションよりも優先されます。
この例では、aaa-aaa-aaa
テストは application/path
にあるオーバーライドアプリケーションのバージョンで実行されます。
// myTest.synthetics.json
{
"tests" : [
{
"id" : "aaa-aaa-aaa" ,
"config" : {
"mobileApplicationVersionFilePath" : "application/path"
}
}
]
}
次に、$ datadog-ci synthetics run-tests --config synthetics-ci.config
を実行します。
詳しくは、Continuous Testing と CI/CD をご覧ください。
権限 デフォルトでは、Datadog 管理者および Datadog 標準ロールを持つユーザーのみが、Synthetic モバイルアプリテストを作成、編集、削除できます。Synthetic モバイルアプリテストの作成、編集、削除アクセスを取得するには、ユーザーをこれら 2 つのデフォルトのロール のいずれかにアップグレードします。
カスタムロール機能 を使用している場合は、synthetics_read
および synthetics_write
権限を含むカスタムロールにユーザーを追加します。
アクセス制限 Use granular access control to limit who has access to your test based on roles, teams, or individual users:
Open the permissions section of the form. Click Edit Access . Click Restrict Access . Select teams, roles, or users. Click Add . Select the level of access you want to associate with each of them. Click Done . Note : You can view results from a Private Location even without Viewer access to that Private Location.
Access level View test configuration Edit test configuration View test results Run test No access Viewer Yes Yes Editor Yes Yes Yes Yes
参考資料