Teste de câmeras ITS dobráveis

A partir do Android 13, o Camera ITS inclui suporte de teste para dispositivos dobráveis. Dispositivos dobráveis ​​​​têm câmeras que estão disponíveis ou indisponíveis dependendo se o dispositivo está dobrado ou desdobrado.

Os IDs das câmeras mudam dependendo do tipo, modelo e marca do dispositivo; e a disponibilidade de câmeras frontais físicas muda dependendo do estado. Por causa disso, o Camera ITS determina dinamicamente a cena e as combinações de câmera a serem usadas para teste. Como as câmeras precisam ser testadas nos estados dobrado e desdobrado, o teste de dobráveis ​​exige que o DUT seja remontado durante o processo de teste.

Teste de câmera 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 dobráveis, a disponibilidade da câmera frontal muda dependendo do estado. Por exemplo, a câmera frontal não está disponível quando dobrada. Devido a essa mudança na disponibilidade da câmera frontal, as câmeras frontais devem ser testadas nos estados dobrado e desdobrado. Câmera O ITS pressupõe que a disponibilidade da câmera traseira permanece a mesma, quer o dispositivo esteja dobrado ou desdobrado, portanto, as câmeras traseiras só precisam ser testadas uma vez.

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

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

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

Procedimento de teste

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

Configurar dispositivo

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

Conceder acesso à API de teste

Para que o Camera ITS determine se o dispositivo é dobrável ou não, você deve conceder acesso à API de teste antes de invocar os testes. Se o acesso não for concedido, a execução dos testes do Camera ITS resultará no travamento do aplicativo.

Para conceder acesso, execute o seguinte comando ADB. Este comando precisa ser executado uma vez para um único dispositivo. Se o CTS Verifier for reinstalado com uma versão diferente, você deverá 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 o parâmetro foldable_device nos testbeds tablet e sensor_fusion no arquivo config.yml . Camera ITS usa esse parâmetro para determinar as combinações camera_id e cena para estados dobrados e desdobrados.

A seguir está 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

Execute testes

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

Ao executar o Camera ITS em um dispositivo dobrável, a câmera frontal principal é testada em ambos os estados, dobrada e desdobrada. Se o dispositivo estiver dobrado, os resultados serão exibidos na opção camera1_ SCENE_NAME _folded no aplicativo CTS Verifier. Dependendo do estado do dispositivo, determinados IDs de câmeras físicas frontais ficam indisponíveis e não são testados. A câmera traseira só precisa ser testada em um estado, de preferência dobrado, e os resultados da câmera traseira não possuem o sufixo _folded .

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

adb shell cmd device_state state

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

Se você estiver executando todas as cenas nos estados dobrado e desdobrado, as cenas dobradas serão executadas primeiro, seguidas pelas cenas desdobradas. Isso minimiza a quantidade de remontagem necessária durante o teste.

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

Comandos de amostra

A seguir estão exemplos de comandos para execução de teste 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 cena0. Se o dispositivo estiver dobrado e o usuário estiver testando a câmera frontal principal, o script determinará o estado do dispositivo e adicionará 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 python tests/scene0/ -c config.yml Executa um teste específico.