Teste Uiautomator

  
Framework para testes funcionais da IU entre apps.
Atualização mais recente Versão estável Candidata a lançamento Versão Beta Versão Alfa
11 de janeiro de 2023 - - - 2.3.0-alpha02

Declarar dependências

Para adicionar uma dependência ao teste, é preciso adicionar o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para mais informações.

Adicione as dependências dos artefatos necessários ao arquivo build.gradle do seu app ou módulo:

Groovy

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation "androidx.test.uiautomator:uiautomator:2.3.0-alpha02"
}

Kotlin

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation("androidx.test.uiautomator:uiautomator:2.3.0-alpha02")
}

Para mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 2.3.0

Versão 2.3.0-alpha02

11 de janeiro de 2023

Lançamento de androidx.test.uiautomator:uiautomator:2.3.0-alpha02. A versão 2.3.0-alpha02 contém estas confirmações.

Mudanças na API

  • A geração de registros foi reformulada em toda a biblioteca para fornecer mais informações, avisar sobre possíveis problemas e melhorar a consistência.
  • A UiDevice#pressKeyCodes foi adicionada para permitir o pressionamento de várias teclas simultaneamente, por exemplo, pressionando POWER e VOLUME_DOWN para fazer uma captura de tela (22e525).
  • A UiDevice#setCompressedLayoutHierarchy foi adicionada e a UiDevice#setCompressedLayoutHeirarchy foi descontinuada para corrigir um erro de digitação no nome do método (4e2f65).
  • A UiAutomatorInstrumentationTestRunner foi marcada como descontinuada por lidar com UiAutomatorTestCases descontinuadas e não ser mais necessária (be6c85).
  • Atualizamos o atraso entre MotionEvents de UiObject2 para o dobro da taxa de atualização da tela com o objetivo de emular melhor os gestos do usuário (454450).
  • Adição de suporte para texto com várias linhas e correspondência de descrição (1625e6, b/255787130).

Correções de bugs

  • Correção de StaleObjectExceptions que às vezes eram geradas ao consultar ou aguardar objetos (4cbcc0).
  • Correção dos valores de retorno de UiScrollable#scrollToBeginning, scrollToEnd, flingToBeginning e flingToEnd que não indicam se o início/fim foi alcançado (d33e06).
  • Correção dos métodos UiScrollable#scrollForward e scrollBackward, ignorando o tempo limite configurado (29e4f3).
  • Correção do construtor de cópia BySelector, que não processava seletores de profundidade (6c7b91).
  • Correção do processamento de valores percentuais inválidos em UiObject#pinchIn e pinchOut (01b973).
  • Correção de um problema raro em que o suporte a várias janelas era perdido se a conexão da UiAutomation fosse redefinida (1bb956).

Versão 2.3.0-alpha01

7 de setembro de 2022

Lançamento de androidx.test.uiautomator:uiautomator:2.3.0-alpha01. A versão 2.3.0-alpha01 contém estas confirmações.

Mudanças na API

  • Anotação de nulidade para todos os métodos públicos.
  • A injeção de MotionEvent agora é assíncrona com um pequeno atraso para gestos UiObject2 mais suaves.
  • O intervalo de pesquisa durante a espera foi reduzido de 1.000 ms para 100 ms.
  • UiDevice#wakeUp e UiDevice#sleep foram atualizados para usar KEYCODE_WAKEUP e KEYCODE_SLEEP para oferecer suporte a dispositivos que substituem o botão liga/desliga.
  • Foram adicionados o elemento UiObject2#getDisplayId e suporte para encontrar e gerenciar objetos em várias telas.
  • Os métodos UiObject#click e UiObject2#clickAndWait foram adicionados para clicar em um ponto usando as coordenadas dele.

Correções de bugs

  • Foi corrigido um problema em que os cálculos de tamanho da tela, algumas vezes, eram incorretos e podiam ignorar partes da tela, especialmente no modo de várias janelas (Ifc016c).
  • Foi corrigido o dimensionamento de capturas de tela em UiDevice#takeScreenshot (Id80ad6).
  • Melhorias na confiabilidade de Until.scrollFinished e UiObject2#scroll (I7b0595).
  • Os avisos de IncorrectContextUseViolation no modo estrito foram corrigidos (Iffa6a0).