Android SDK 連携プロセス を完了すると、HTTPDNS の カスタム解決 機能を使用して、ビジネスドメイン名を無効な IP アドレスに解決し、連携が成功したことを検証できます。このトピックでは、具体的なテスト方法と手順について説明します。
検証原理
HTTPDNS は、HTTP または HTTPS プロトコルを使用して、解決リクエストを Alibaba Cloud DNS サーバーに直接送信します。これにより、システムのローカル DNS をバイパスし、ネットワーク環境によって引き起こされる解決の失敗を防ぎます。
エラーインジェクションテストは、HTTPDNS のカスタム解決機能に依存しています。対象のビジネスドメイン名の解決結果を無効な IP アドレスに設定することで、制御可能な解析エラーを手動で注入できます。エラー注入環境でネットワークリクエストを行う場合:
リクエストが成功した場合、アプリはローカル DNS を使用して解決を行い、正常な IP アドレスを返します。これは、HTTPDNS 連携が失敗したことを示します。
リクエストが失敗した場合、アプリは HTTPDNS によって返された無効な IP アドレスを使用しました。これは、HTTPDNS 連携が成功したことを示します。
テスト準備
テストデバイス:インターネットアクセスが可能な Android スマートフォンまたはエミュレーター。
アプリのステータス:EMAS HTTPDNS SDK が連携済み。
テストドメイン名:Alibaba Cloud HTTPDNS コンソールで設定され、正常に解決されるビジネスドメイン名。
テスト手順
ステップ 1: 通常のネットワーク検証
テストデバイスを利用可能な Wi-Fi ネットワークに接続し、デフォルトの DNS 設定を維持します。

HTTPDNS を無効化した状態で、アプリを開き、ホームページの読み込みや API 呼び出しなど、ドメイン名にアクセスするネットワークリクエストをトリガーします。
リクエストが正常に返されることを確認します。
このステップはベースラインを確立し、アプリとサービス機能が通常のネットワーク環境で正常に機能することを確認します。
ステップ 2: エラーインジェクション (カスタム解決)
EMAS コンソール にログインします。
左側のナビゲーションウィンドウで、[解決管理] > [カスタム解決] を選択します。

ルールベースのカスタム DNS 解決の設定 を参照して、カスタム DNS レコードを追加し、無効な IP アドレスに解決するように設定します。

ステップ 3: エラー注入環境での検証
テストデバイスで HTTPDNS を有効にし、アプリケーションを起動します。
ステップ 1 と同じビジネスリクエスト (例: ホームページの読み込みや API 呼び出し) をトリガーします。
リクエスト結果を確認します。
リクエスト結果
結論
例
ネットワークリクエストが失敗しました
HTTPDNS によってドメイン名解決が完了しました。無効な IP アドレスが返され、ネットワークリクエストが失敗しました。これは、HTTPDNS 連携が成功したことを示します。

ネットワークリクエストが成功しました
最初のリクエストが成功した場合、キャッシュミスがローカル DNS へのフォールバックを引き起こした可能性があります。しばらく待ってから、リトライしてください。
複数のリクエストが成功した場合、解決が依然としてローカル DNS に依存しており、HTTPDNS を使用しなかったことを意味します。正常な IP アドレスが返され、リクエストが完了しました。HTTPDNS 連携が失敗しました。
説明ドメイン名解決に同期非ブロッキングインターフェイスを使用する場合、setPreResolveHosts および setEnableExpiredIp を有効にすることを推奨します。これにより、ローカルキャッシュに使用可能な解決結果が含まれるようになり、キャッシュミスによるローカル DNS へのフォールバックを回避し、検証精度への影響を防ぐことができます。