5 Stimmen

Kann ich den Netzzugang während des Tests wirklich aktivieren und deaktivieren?

Ich möchte automatisierte Tests schreiben, die auf dem Emulator ausgeführt werden, um zu überprüfen, ob sich meine Anwendung korrekt verhält, wenn die Netzwerkverbindung spontan unterbrochen wird. Zu diesem Zweck möchte ich Tests wie die folgenden schreiben:

  1. Aktivieren Sie die Netzwerkverbindung.
  2. Starten Sie eine Netzwerkanwendung, z. B. einen langen Dateidownload.
  3. Deaktivieren Sie die Netzwerkverbindung.
  4. Vergewissern Sie sich, dass der Dialog Netzwerkverbindung verloren angezeigt wird.

Ich habe verschiedene Stackoverflow-Antworten gesehen, die sich mit diesem Problem befassen und vorschlagen, die Netzwerkverbindung vom Host-PC aus manuell über die Befehlszeile zu deaktivieren. Dies kann nicht durch einen Test, der auf dem Emulator läuft, automatisiert werden, da der Emulator keinen Zugriff auf seinen Host-PC hat. Außerdem wäre es sehr schwierig, die Befehle in einem Shell-Skript des Host-PCs automatisch mit einem Emulatortest zu synchronisieren.

Als Alternative habe ich Antworten gesehen, die vorschlagen, die Netzwerkeinstellungen des Emulators zu manipulieren, was anscheinend den Zugriff nicht wirklich deaktiviert, sondern nur explizite Verbindungsprüfungen auslöst wie networkInfo.isConnected() um einen getrennten Zustand zu melden. Sie erlauben weiterhin eine bidirektionale Kommunikation. (Wenn z. B. der Netzzugang des Emulators deaktiviert ist, ist der Browser immer noch voll funktionsfähig).

Ist es jemandem gelungen, automatisierte Tests zu erstellen, die auf dem Emulator ausgeführt werden und den Netzwerkzugriff je nach Bedarf mitten im Test ein- und ausschalten?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X