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.