web-dev-qa-db-ja.com

adb経由でwifi接続をテストする方法は?

Adbを介してwifiのオフ/オンを自動化しています。

テストケースに基づいてwifiを無効/有効にしたい

これまでのところ、私は良い情報を見つけました ここ

ただし、次のコマンドを実行する前に接続をテストしたい

adb Shell am start -a Android.intent.action.MAIN -n         com.Android.settings/.wifi.WifiSettings adb Shell input keyevent 19 & adb Shell input keyevent 19 & adb Shell input keyevent 23

上記のコマンドは、有効になっている場合はWi-Fiを無効にし、無効になっている場合はWi-Fiを有効にします。最初に接続をテストし、必要に応じてアクションを実行したいと思います。 adbコマンドを使用する方法があるかどうか疑問に思っています。これはプログラムで実現できますが、信頼性を高めるためにadbを介して実行する必要があります。

また、次のコマンドは、デバイスがルート化されている場合にのみ機能します

adb Shell "svc wifi enable" 

また、次のコマンドは画面上でテストを起動しますが、adbを介して情報を提供しません

adb Shell am start -n com.Android.settings/.wifi.WifiStatusTest
6
Venkatesh

以下のコマンドは、インターネットのステータスと接続モード(携帯電話またはWi-Fi)を提供します

adb Shell dumpsys connectivity
12
nramesh1990

デバイスのWifiステータスに関するすべてを知るには:

adbシェルdumpsyswifi

有効になっているかどうかを知るには:

adbシェルdumpsyswifi | grep「Wi-Fiは」

より詳細なステータスを知るには:

adbシェルdumpsyswifi | grep "mNetworkInfo"

  1. 有効なネットワークに接続されている場合は、 "CONNECTED/CONNECTED"と表示されます。また、接続されているネットワークの名前も表示されます。
  2. Wi-Fiが有効になっているが、まだネットワークに接続していない場合は、 "DISCONNECTED/SCANNING"と表示されます。
  3. Wi-Fiが無効になっている場合は、 "DISCONNECTED/DISCONNECTED"と表示されます。
10
Atish Sanyal

WiFiがオンになっているかどうかを判断しようとしている場合は、adb Shell settings get global wifi_onを実行して、オンの場合は1を返し、オフの場合は0を返します。

複数のデバイスが接続されている場合は、adb -s [UDID_HERE] Shell settings get global wifi_onを実行して、個々の電話のWiFiステータスを取得できます。 UDIDを見つけるには、adb devicesを実行できます。

2
Josh Correia

これは、インターネットアクセスがあるかどうかだけを教えてくれますが、次のことができます。

adb Shell ping www.google.com