Trabalhe com dispositivos em TF

Trade Federation usa uma abstração chamada ITestDevice para executar testes. Esta abstração objetiva o dispositivo Android com menor denominador comum:

  • Tem um número de série
  • Tem um estado: Online, Disponível, Recuperação ou Não Disponível
  • 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 suporta a execução de comandos e o caso em que o dispositivo parou de responder 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

Esta é uma peça real de hardware, conectada à máquina host TF por USB ou usando o recurso TCP do adb. A classe TestDevice fica no topo da biblioteca ddmlib, que é uma interface Java para adb. Portanto, qualquer dispositivo físico listado em adb devices pode ser instanciado e usado como TestDevice .

Emulador

Os emuladores são tratados especialmente pelo TF porque residem em outro processo. Para interagir com um emulador, especifique o argumento --emulator para o comando. Consulte LocalSdkBuildProvider e SdkAvdPreparer para obter mais informações.

Nenhum dispositivo

Suponha que você tenha um teste que não interage com nenhum dispositivo. Por exemplo, ele pode simplesmente baixar um arquivo de algum serviço e verificar se o arquivo em si é válido. O NullDevice é um ITestDevice que é apenas um esboço. Ele tem um número de série como null-device-N e a maioria das tentativas de operações são no-op silenciosamente ou lançadas.