Teste de câmeras ITS dobráveis

No Android 13 e versões mais recentes, o Camera ITS inclui suporte a testes. para dispositivos dobráveis. Os dispositivos dobráveis têm câmeras disponíveis ou indisponíveis, dependendo se o dispositivo está dobrado ou aberto.

Os IDs da câmera mudam de acordo com o tipo, modelo e marca do dispositivo, e a disponibilidade de câmeras frontais físicas muda de acordo com o estado. Por isso, o Camera ITS determina dinamicamente as combinações de cena e câmera a serem usadas para testes. Como as câmeras precisam ser testadas nos estados dobrado e aberto, o teste de dobráveis exige que o DUT seja montado novamente durante o processo de teste.

Teste das câmeras frontal e traseira

Os sensores de câmera disponíveis em um dispositivo dobrável são diferentes dependendo se o dispositivo está dobrado ou desdobrado. Para dispositivos dobráveis, a disponibilidade da câmera frontal muda de acordo com o estado. Por exemplo, a parte da frente a câmera não está disponível no estado dobrado. Por causa dessa mudança na frente disponibilidade de câmera, as câmeras frontais precisam ser testadas tanto na tela dobrada desdobrados. O Camera ITS presume que a disponibilidade da câmera traseira continua sendo o Mesmo que o dispositivo esteja dobrado ou desdobrado, as câmeras traseiras só precisam ser foi testado uma vez.

Dependendo do estado do dispositivo, o Camera ITS filtra os dados indisponíveis os dispositivos de câmera e os dispositivos de câmera não aparecem na lista de câmeras e e combinações de cenas.

A tabela a seguir descreve o comportamento do teste de câmera ITS para cada orientação de câmera.

Orientação da câmera Comportamento do teste do Camera ITS
Câmera traseira Testa a câmera uma vez no estado dobrado ou desdobrado
Câmera frontal principal Testa a câmera uma vez no estado dobrado e outra no o estado desdobrado.
Câmera frontal física Testa a câmera apenas nos estados em que ela está disponível.

Procedimento de teste

Esta seção descreve as etapas para testar câmeras de dispositivos dobráveis.

Configurar dispositivo

Para informações de configuração, consulte Configuração.

Conceder acesso de teste à API

Para que o Camera ITS determine se o dispositivo é dobrável ou não, é necessário conceder acesso à API de teste antes de invocar os testes. Se o acesso não for concedido, executar os testes do Camera ITS resulta em falhas no app.

Para conceder acesso, execute o comando ADB abaixo. Esse comando precisa ser executado uma vez para um único dispositivo. Se o Verificador do CTS for reinstalado com uma será preciso executar o comando novamente.

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier

Arquivo de configuração

Para especificar que o dispositivo é dobrável, adicione foldable_device nos testbeds tablet e sensor_fusion do config.yml . O ITS da câmera usa esse parâmetro para determinar as combinações de camera_id e cena para estados dobrados e desdobrados.

Confira abaixo um exemplo de arquivo config.yml para um dispositivo dobrável.

TestBeds:
  - Name: TABLET_SCENES
    # Test configuration for scenes[0:4, 6]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"     # "quotes" needed
      chart_loc_arg: ""
      camera: 0
      scene: scene2_a
  lighting_cntl: arduino    # can be "arduino" or "None"
  lighting_ch: 1
  foldable_device: "True"     # "False" for non-foldable DUTs

Executar testes

Para executar os testes ITS em um dispositivo dobrável, execute o comando run_all_tests.py. Para mais detalhes, consulte Como invocar testes.

Ao executar a ITS da câmera em um dispositivo dobrável, a câmera frontal principal é testada nos dois estados, dobrado e desdobrado. Se o dispositivo estiver dobrado, os resultados serão exibidos na opção camera1_SCENE_NAME_folded no app CTS Verifier. Dependendo do estado do dispositivo, alguns IDs de câmera física frontal ficam indisponíveis e não são testados. A câmera traseira só precisa ser testada em um estado, de preferência o estado dobrado, e os resultados da câmera traseira não têm o sufixo _folded.

Para garantir que as cenas dobradas sejam executadas com o dispositivo dobrado, e verifique o estado do DUT dobrável, execute o comando abaixo.

adb shell cmd device_state state

Ao executar testes no estado dobrado, o Camera ITS mostra uma mensagem na terminal para solicitar que o usuário configure o dispositivo corretamente no ITS caixa Para continuar executando o teste após o comando, pressione Enter.

Se você estiver executando todas as cenas nos estados dobrado e aberto, as cenas dobradas serão executadas primeiro, seguidas pelas abertas. Isso minimiza a a quantidade de remontagens necessárias durante o teste.

O Camera ITS também adiciona o sufixo folded ao diretório tmp criado para cenas de estado dobrado.

Exemplos de comandos

Confira abaixo exemplos de comandos para a execução de testes em dispositivos dobráveis.

Comando Descrição
python tools/run_all_tests.py Executa todas as cenas.
python tools/run_all_tests.py scenes=scene0 Executa a cena 0. Se o dispositivo estiver dobrado e o usuário estiver testando a câmera frontal principal, o script determina o estado do dispositivo e adicione o sufixo _folded ao nome da cena. Os usuários não precisam adicionar o sufixo para executar as cenas dobradas.
python tests/scene0/ -c config.yml Executa um teste específico.