Ferramenta de validação das extensões de câmera

A ferramenta de validação de extensões de câmera permite que os fabricantes de dispositivos verificar se o Biblioteca de fornecedores de OEM de extensões de câmera seja implementada corretamente. A ferramenta inclui validação automática e manual provas.

  • Testes de validação automatizados: validam se a biblioteca do fornecedor está implementada corretamente. Por exemplo, se CaptureProcessor for para a captura de imagem, os testes validam que ImageCaptureExtenderImpl#getCaptureStages() retorna o valor Instâncias de CaptureStage para capturar as imagens.

  • Testes manuais de validação:valide os efeitos e a qualidade das imagens e as imagens capturadas. Por exemplo, os testes permitem que o os fabricantes precisam validar manualmente se o efeito de retoque facial é aplicada corretamente ou se a intensidade do efeito 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:

  1. Faça o download do código-fonte da biblioteca do Android Jetpack. Para mais detalhes, consulte a Como verificar o código do README do Android Jetpack.

  2. Crie o extensionstestapp APK. Isso permite executar testes de validação manuais.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
    

    A saída do APK é o seguinte caminho:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  3. Crie o androidTest APK. Este APK permite a execução de testes de validação automatizados.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
    

    A saída do APK é o 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 extensionstestapp e androidTest APKs.

  • 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, executar todos os testes automatizados para validar o fornecedor implementação da biblioteca, execute o seguinte 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 de teste final mostra falhas no terminal após a conclusão de todos os testes.

validação_de_resultado_automatizada

Figura 1. Resultado OK dos testes automatizados

falha_automática_validação_resultado

Figura 2. Os testes automatizados resultam em falhas

Executar testes automatizados de uma classe específica

Para executar testes automatizados de uma classe específica, defina o nome e o caminho do classe de destino. O exemplo a seguir mostra o comando para executar testes para a 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 manuais estão disponíveis na app de teste de extensões. Depois de instalar e abrir o aplicativo de teste de extensões, mude para a da ferramenta de validação tocando no item de menu no canto superior direito.

Depois de alternar para o modo da ferramenta de validação, a primeira página lista todas as câmeras que contêm REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE capacidade de processamento. Se uma câmera não tiver suporte a nenhum modo de extensão, os modos item da lista ficar cinza.

validação_da_câmera_resultado-inicial

Figura 3. Modo da ferramenta de validação

Toque em uma das câmeras para conferir os modos de extensão para testes. Extensão os modos incompatíveis com a câmera selecionada são mostrados em cinza.

modo_de_validação_de_resultado-inicial

Figura 4. Modos de extensão disponíveis para uma câmera

Verificar os resultados da visualização

Para verificar os resultados da visualização, inicie um teste manual tocando em modo de extensão para a câmera selecionada. Uma atividade de captura de imagem contendo a visualização é exibida.

Preview-bokeh_enabled

Figura 5. Visualizar imagem com bokeh ativado

A atividade de captura de imagem é compatível com as seguintes funções:

  • Aumentar/diminuir zoom
  • Toque para focar
  • Botão para alternar os modos do flash
  • VE +/-
  • Botão de ativação/desativação da extensão

Verifique se os modos de aumentar/diminuir zoom, tocar para focar, flash e As funções EV +/- funcionam como esperado na prévia.

Verificar os resultados de imagens capturadas

Para capturar a imagem, toque no botão CAPTURE (o botão redondo) na imagem que capturam a atividade. Isso inicia uma atividade de validação de imagem que mostra a imagem capturada.

photo_viewer-bokeh_enabled

Figura 6. Imagem capturada com bokeh ativado

A atividade de validação de imagem inclui as seguintes funções:

  • Fazer gesto de pinça para aumentar/diminuir a imagem
  • Deslize para a esquerda/direita para alternar as imagens capturadas
  • Recapturar
  • Item de menu "Salvar imagem"

Verifique se a imagem capturada está correta e corresponde ao zoom entrada/saída, toque para focar, modos de flash e configurações de EV +/- que foram definidas quando capturando a imagem.

Se os resultados capturados estiverem corretos, toque no botão APROVADO (marca de seleção) na no canto inferior direito. Caso contrário, toque no botão FALHA (ponto de exclamação) na no canto inferior esquerdo.

Ver os resultados dos testes

Depois que um modo de extensão for verificado como aprovado ou reprovado, o item da lista do o modo de extensão mostra um indicador e uma cor de fundo diferentes. Na lista de todas as câmeras, os itens são exibidos nas seguintes cores:

  • Plano de fundo branco:a câmera oferece suporte a pelo menos um modo de extensão. os modos de extensão com suporte não forem validados por completo.
  • Plano de fundo verde:a câmera oferece suporte a pelo menos um modo de extensão. Todos e os modos de extensão com suporte são validados com a transmissão de todos os resultados.
  • Plano de fundo vermelho:a câmera oferece suporte a pelo menos um modo de extensão. Todos os modos de extensão com suporte são validados com pelo menos um modo de extensão falha no resultado.
  • Plano de fundo cinza:esse recurso não está disponível.

resultado_da_validação_da_câmera resultado_da_validação_de_modo_de_extensão

Figura 7. Cores que indicam os resultados do teste para câmeras e modos de extensão.

Outras funções da ferramenta de validação

Após a conclusão de todos os testes, a atividade da lista de câmeras fornece a as seguintes funções:

  • Exportar resultados do teste:exporta os resultados do teste como um arquivo CSV para o arquivo Documents/ExtensionsValidation.
  • Redefinir:limpa todos os resultados de teste armazenados em cache.
  • App de exemplo de extensões:muda para o app de exemplo de extensões. modo

Depois de concluir o teste, exporte os resultados. Se você encontrar e uma nova versão da implementação da biblioteca do fornecedor com o soluções precisam ser verificadas novamente, redefinir os resultados do teste anterior e executar novamente todos os modos de extensão com suporte em todas as câmeras para verificar se os problemas sejam corrigidos.