A Trade Federation usa uma abstração chamada
ITestDevice
para
executar testes. Essa abstração objetiva o dispositivo Android de menor denominador comum:
- Ele tem um número de série
- Ele tem um estado: on-line, disponível, recuperação ou indisponível.
- Ele tem alguma noção de confiabilidade. Por exemplo, se executarmos um comando, podemos diferenciar entre o caso em que o comando ainda não foi concluído, o caso em que o dispositivo não oferece suporte à execução de comandos e o caso em que o dispositivo não responde durante a execução do comando.
Classes de dispositivos
As três implementações principais de ITestDevice
representam três casos de uso
comuns.
Dispositivo físico
É um hardware real conectado à máquina host do TF por USB ou usando
o recurso TCP do adb. A classe TestDevice fica sobre a biblioteca ddmlib, que é uma interface Java para adb. Portanto, qualquer
dispositivo físico listado em adb devices
pode ser instanciado e usado como um
TestDevice
.
Emulador
Os emuladores são processados de forma especial pelo TF porque eles ficam em outro processo. Para interagir com um
emulador, especifique o argumento --emulator
para o comando. Consulte
LocalSdkBuildProvider e
SdkAvdPreparer para mais informações.
Nenhum dispositivo
Suponha que você tenha um teste que não interage com um dispositivo. Por exemplo, ele pode fazer o download de um arquivo de algum serviço e verificar se ele é válido. O
NullDevice é um ITestDevice
que é apenas um stub. Ele tem um número de série como
null-device-N
, e a maioria das operações tentadas não é executada silenciosamente ou é descartada.