Build Info no TF é um objeto amplamente usado para transportar recursos para configuração e execução de testes. Tudo, desde imagens de dispositivos até APKs de teste, é armazenado ou vinculado nas informações de compilação para ser encontrado. Isso permite uma maneira unificada de acessar recursos de teste de um teste e desacoplar o teste da obtenção de recursos de teste.
Propriedades de informações da compilação
As duas propriedades principais dos objetos de informações de compilação são atributos e arquivos:
- Atributos - Eles podem ser adicionados via
#addBuildAttribute()
; eles representam rótulos e informações de string para as compilações. Os atributos podem ser usados para armazenar informações relacionadas à compilação. - Arquivos : Eles podem ser adicionados via
setFile()
; o arquivo será rastreado e gerenciado pelo Build Info durante o ciclo de vida da invocação (por exemplo, tratado adequadamente durante a fragmentação). Isso evita a necessidade de o teste saber qualquer coisa sobre o sistema de arquivos e, em vez disso, pode simplesmente confiar no objeto Build Info abstraído para obter seus recursos.
NOTA: Os arquivos devem sempre ser armazenados em Files
e não em Attributes
como um caminho absoluto. Os atributos são tratados como strings java puras e a referência pode ser invalidada durante parte do ciclo de vida da invocação.
Informações de compilação em vários dispositivos
Quando uma configuração de teste é definida com vários dispositivos, um objeto Build Info existirá por dispositivo. Isso permite solicitar e direcionar arquivos de um dispositivo para outro.
Informações de compilação em várias compilações
É possível exigir compilações de vários destinos. Nesses casos, um objeto Build Info existirá por destino. Isso permite solicitar e direcionar arquivos de qualquer destino.
Protoformato
O Build Info é serializável em um formato protobuf para facilitar seu uso nos sistemas, se necessário.