Com a ferramenta de validação das extensões da câmera, os fabricantes de dispositivos podem verificar se a biblioteca de fornecedores OEM das extensões da câmera está implementada corretamente. A ferramenta inclui testes de validação automatizados e manuais.
Testes de validação automatizados:validam se a interface da biblioteca do fornecedor está implementada corretamente. Por exemplo, se
CaptureProcessor
for necessário para a captura de imagens, os testes vão validar seImageCaptureExtenderImpl#getCaptureStages()
retorna as instânciasCaptureStage
necessárias para capturar as imagens.Testes de validação manual:valide os efeitos de imagem e a qualidade da prévia e das imagens capturadas. Por exemplo, os testes permitem que os fabricantes de dispositivos validem manualmente se o efeito de retoque facial está sendo aplicado corretamente ou se a intensidade do bokeh é suficiente.
O código-fonte da ferramenta de validação faz parte do app de teste de extensões no repositório do Android Jetpack.
Criar a ferramenta de validação de extensões da câmera
Para criar a ferramenta de validação de extensões, siga estas etapas:
Faça o download do código-fonte da biblioteca Android Jetpack. Para mais detalhes, consulte a seção Conferir o código do README do Android Jetpack.
Crie o APK
extensionstestapp
. Isso permite executar testes de validação manual.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
O APK é gerado no seguinte caminho:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
Crie o APK
androidTest
. Esse APK permite executar testes de validação automatizados.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
O APK é gerado no seguinte caminho:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
Executar testes de validação automatizados
Para executar os testes de validação automatizados, instale os APKs extensionstestapp
e androidTest
.
APK
extensionstestapp
adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
APK
androidTest
adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
Executar todos os testes automatizados
Depois de instalar os APKs, execute todos os testes automatizados para validar a implementação da biblioteca do fornecedor com este comando:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Se todos os testes forem aprovados, um resultado OK será retornado. Caso contrário, o relatório final de teste vai mostrar falhas no terminal depois que todos os testes forem concluídos.
Figura 1. Resultado "OK" dos testes automatizados
Figura 2. Os testes automatizados resultaram em falhas
Executar testes automatizados de uma classe específica
Para executar testes automatizados de uma classe específica, especifique o nome e o caminho da
classe de destino. O exemplo a seguir mostra o comando para executar testes na classe
ImageCaptureTest
:
adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Executar testes de validação manuais
Os testes de validação manual estão no app de teste de extensões. Depois de instalar e iniciar o app de teste de extensões, mude para o modo de ferramenta de validação tocando no item de menu no canto superior direito.
Depois de mudar para o modo da ferramenta de validação, a primeira página lista todas as câmeras
que têm a capacidade
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
. Se uma câmera não for compatível com nenhum modo de extensão, o item da lista correspondente vai ficar cinza.
Figura 3. Modo da ferramenta de validação
Toque em uma das câmeras para conferir os modos de extensão para teste. Os modos de extensão que não são compatíveis com a câmera selecionada aparecem em cinza.
Figura 4. Modos de extensão disponíveis para uma câmera
Verificar os resultados da prévia
Para verificar os resultados da prévia, inicie um teste manual tocando em um modo de extensão para a câmera selecionada. Em seguida, uma atividade de captura de imagem contendo a prévia é mostrada.
Figura 5. Prévia da imagem com o efeito bokeh ativado
A atividade de captura de imagem oferece suporte às seguintes funções:
- Aumentar/diminuir zoom
- Toque para focar
- Botão de alternância dos modos de flash
- EV +/-
- Botão de ativação/desativação da extensão
Verifique se as funções de zoom in/out, toque para focar, modos de flash e EV +/- funcionam conforme o esperado na prévia.
Verificar os resultados da imagem capturada
Para capturar a imagem, toque no botão CAPTURAR (o botão redondo) na atividade de captura de imagem. Isso inicia uma atividade de validação de imagem que mostra a imagem capturada.
Figura 6. Imagem capturada com o efeito bokeh ativado
A atividade de validação de imagens inclui as seguintes funções:
- Faça o gesto de pinça para ajustar a imagem
- Deslize para a esquerda/direita para trocar as imagens capturadas
- Recaptura
- Salvar item do menu de imagem
Verifique se a imagem capturada está correta e corresponde às configurações de zoom in/out, toque para focar, modos de flash e EV +/- definidas ao capturar a imagem.
Se os resultados capturados estiverem corretos, toque no botão PASS (marca de seleção) no canto inferior direito. Caso contrário, toque no botão FALHA (ponto de exclamação) no canto inferior esquerdo.
Ver os resultados dos testes
Depois que um modo de extensão é verificado como aprovado ou reprovado, o item da lista do modo de extensão mostra uma cor de plano de fundo e um indicador diferentes. Na visualização em lista de todas as câmeras, os itens são mostrados nas seguintes cores:
- Fundo branco:a câmera é compatível com pelo menos um modo de extensão, mas os modos compatíveis não são totalmente validados.
- Fundo verde:a câmera é compatível com pelo menos um modo de extensão. Todos os modos de extensão compatíveis são validados com todos os resultados aprovados.
- Fundo vermelho:a câmera oferece suporte a pelo menos um modo de extensão. Todos os modos de extensão compatíveis são validados com pelo menos um resultado de modo de extensão com falha.
- Plano de fundo cinza:esse recurso não está disponível.
Figura 7. Cores que indicam os resultados dos testes para câmeras e modos de extensão
Outras funções da ferramenta de validação
Depois que todos os testes forem concluídos, a atividade de lista de câmeras vai fornecer as seguintes funções:
- Exportar resultados do teste:exporta os resultados do teste como um arquivo CSV para a pasta
Documents/ExtensionsValidation
. - Redefinir:limpa todos os resultados de teste armazenados em cache.
- App de exemplo de extensões:muda para o modo do app de exemplo de extensões.
Depois de concluir o teste, você pode exportar os resultados. Se você encontrar um problema e uma nova versão da implementação da biblioteca do fornecedor com as soluções precisar ser verificada novamente, redefina os resultados do teste anterior e execute novamente todos os modos de extensão compatíveis em todas as câmeras para verificar se os problemas foram corrigidos.