Lavora con i dispositivi in ​​TF

Trade Federation utilizza un'astrazione denominata ITestDevice per eseguire i test. Questa astrazione oggettiva il dispositivo Android con il denominatore comune più basso:

  • Ha un numero di serie
  • Ha uno stato: Online, Disponibile, Ripristino o Non disponibile
  • Ha una certa nozione di affidabilità. Ad esempio, se eseguiamo un comando, possiamo distinguere tra il caso in cui il comando non è ancora terminato, il caso in cui il dispositivo non supporta l'esecuzione dei comandi e il caso in cui il dispositivo non risponde durante l'esecuzione del comando.

Classi di dispositivi

Le tre implementazioni principali di ITestDevice rappresentano tre casi d'uso comuni.

Dispositivo fisico

Questo è un vero e proprio componente hardware, collegato alla macchina host TF tramite USB o utilizzando la funzionalità TCP di adb. La classe TestDevice si trova sopra la libreria ddmlib, che è un'interfaccia Java per adb. Pertanto qualsiasi dispositivo fisico elencato in adb devices può essere istanziato e utilizzato come TestDevice .

Emulatore

Gli emulatori sono gestiti appositamente da TF perché risiedono in un altro processo. Per interagire con un emulatore, specifica l'argomento --emulator per il comando. Per ulteriori informazioni, vedere LocalSdkBuildProvider e SdkAvdPreparer .

Nessun dispositivo

Supponiamo di avere un test che non interagisce affatto con un dispositivo. Ad esempio, potrebbe semplicemente scaricare un file da qualche servizio e verificare che il file stesso sia valido. NullDevice è un ITestDevice che è solo uno stub. Ha un numero di serie come null-device-N e la maggior parte delle operazioni tentate sono no-op silenziosamente o lanciate.