ネットワーク接続が自然に切断されたときにアプリが正しく動作することを確認する、エミュレーターで実行する自動テストを作成したいと考えています。そのために、次のようなテストを書きたいと思います。
- ネットワーク接続を有効にします。
- 長いファイルのダウンロードなど、アプリのネットワーク操作を開始します。
- ネットワーク接続を無効にします。
- ネットワーク接続が失われたというダイアログが表示されることを確認します。
コマンドラインを介してホストPCからネットワーク接続を手動で無効にすることを提案することで、これに対処するさまざまなstackoverflowの回答を見てきました。エミュレーターはホスト PC にアクセスできないため、エミュレーターで実行されているテストによってこれを自動化することはできません。また、ホスト PC シェル スクリプトでコマンドを実行すると、エミュレータ テストとの自動同期を試みるのは非常に困難です。
または、エミュレーターのネットワーク設定を操作することを提案する回答を見てきましたが、これは明らかに実際にはアクセスを無効にせずnetworkInfo.isConnected()
、切断状態を報告するなどの明示的な接続チェックのみを引き起こします。それらは依然として双方向通信を可能にします。(たとえば、エミュレーターのネットワーク アクセスが無効になっていても、ブラウザーは完全に機能します。)
エミュレーターで実行し、実際にテスト中に必要に応じてネットワーク アクセスをオン/オフする自動テストを構築できた人はいますか?