A partir do Android 13, o Camera ITS inclui suporte de teste para dispositivos dobráveis. Dispositivos dobráveis têm câmeras disponíveis ou indisponíveis, dependendo se o dispositivo está dobrado ou desdobrado.
As IDs da câmera 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 as combinações de cena e 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 no estado dobrado. Devido a essa mudança na disponibilidade da câmera frontal, as câmeras frontais devem ser testadas nos estados dobrado e desdobrado. O ITS da câmera assume que a disponibilidade da câmera traseira permanece a mesma, independentemente de o dispositivo estar dobrado ou desdobrado, portanto, as câmeras traseiras precisam ser testadas apenas 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 ITS da câmera para cada orientação da 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 nos estados em que 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 ITS da câmera resultará na falha 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 é um dispositivo dobrável, adicione o parâmetro foldable_device
nos testbeds tablet
e sensor_fusion
no arquivo config.yml
. O Camera ITS usa esse parâmetro para determinar as combinações camera_id
e cena para os estados dobrado e desdobrado.
Veja a seguir 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 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, algumas IDs de câmeras físicas frontais estão indisponíveis e não são testadas. A câmera traseira só precisa ser testada em um estado, preferencialmente o estado 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 no estado dobrado, o Camera ITS exibe uma mensagem no terminal para solicitar que o usuário 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.
Exemplos de comandos
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. |