Última atualização em 03 de maio de 2020 — Continuous Testing Expert
Continuous Testing

 

Nós da Expertest trabalhamos muito com Appium. Há anos trabalhamos para fornecer integração perfeita no Appium para permitir que os testadores criem automação Appium em minutos sob nosso Continuous Testing PRODUTOS. Naturalmente, isso nos levou a trabalhar e contratar muitos especialistas da Appium. Em nossas entrevistas com funcionários em potencial, nos pegamos fazendo muitas das mesmas perguntas sobre o Appium e seus recursos. Achamos que seria uma boa ideia preparar uma sessão de perguntas e respostas sobre o Appium, onde podemos responder antecipadamente a algumas das perguntas mais comuns sobre entrevistas do Appium. Continue lendo e dê uma vantagem inicial ao entrevistar para cargos relacionados à Appium.

Baixe o Appium Studio gratuitamente agora

Portanto, sem mais delongas, veja abaixo os mais comuns:

Perguntas e respostas da entrevista do Appium

1. O que é Appium?

Appium é uma estrutura de automação de teste de código aberto. Usamos o Appium para automatizar aplicativos móveis nas plataformas Android e iOS.

2. Tipos de Aplicativos Móveis e uma breve descrição de cada um deles?

  1. aplicativos nativos - Aplicativo desenvolvido para uma plataforma específica.
  2. aplicativos híbridos - Aplicativos que possuem componentes nativos e da Web, mas são executados como um aplicativo.
  3. Aplicativo Web – Aplicativos criados para serem executados em navegadores (neste caso, navegadores móveis).

3. Pré-requisitos para Appium.

  1. Instalação de Android Estúdio para automatizar Android e XCUI para automação iOS.
  2. NodeJS
  3. Tempos de execução de linguagem correspondentes para clientes Appium. Um exemplo para Java Appium Client JDK/JRE é um pré-requisito.

4. Explique a arquitetura básica do Appium.

No coração da ferramenta Appium, seus principais componentes são,

  1. Appium Server – Um servidor HTTP que escuta os clientes baseados em Appium Http e usa seu driver UI Automator para traduzir comandos de automação para um idioma que os dispositivos Android possam entender.
  2. A estrutura Appium expõe Appium Clients para diferentes linguagens como Java, Python. Os Appium Clients listam todos os idiomas suportados.
  3. O Appium oferece suporte a diferentes drivers para automatizar várias plataformas finais. O driver UIAutomator2 é usado para suportar o sistema operacional Android.

5. Vantagens do Appium

  1. Multi-plataforma
  2. Appium expõe uma única API para automatizar aplicativos móveis em diferentes plataformas.
  3. O Appium suporta muitas linguagens diferentes usando as quais os testes de automação podem ser desenvolvidos. As APIs seguem conceitos gerais semelhantes para automação.
  4. O Appium é baseado no protocolo Web Driver do Selenium.
  5. O Appium fornece suporte de automação de ponta a ponta para automação, como tempo de execução do Appium Server, bibliotecas do Appium Client para desenvolvimento e UI Inspector para encontrar a localização dos elementos da interface do usuário.

6. Diferença entre Selênio e Ápio?

O Selenium é uma ferramenta de código aberto que permite a automação de aplicativos da Web executados em navegadores. O Appium é usado para automatizar aplicativos móveis e aplicativos da Web executados em dispositivos móveis.

7. Desvantagens do Appium?

  1. Os comandos geralmente são traduzidos para o dispositivo real que afeta o desempenho.
  2. Não há suporte disponível para testes em dispositivos Android anteriores à versão 4.2.

8. Etapas básicas para escrever o Appium Test.

  1. Decida a linguagem de programação compatível com a biblioteca Appium Client.
  2. Decidir sobre a estrutura de teste da linguagem de desenvolvimento subjacente. Exemplo: TestNG para linguagem Java.
  3. Importar a biblioteca Appium Client
  4. Inicialize o driver e passe os recursos desejados (propriedades da sessão)
  5. Localize os elementos da interface do usuário no aplicativo móvel. Use o Appium Inspector para obter a localização antecipadamente.
  6. Execute o comando de automação no elemento.
  7. Saia do driver inicializado.

9. Quais são as capacidades desejadas?

Desired Capabilities são chaves e valores codificados em um objeto JSON, enviados por clientes Appium ao servidor quando uma nova sessão de automação é solicitada. Eles informam aos drivers do Appium todos os tipos de coisas importantes sobre como você deseja que seu teste funcione.

Cada cliente Appium cria recursos de uma forma específica para o idioma do cliente, mas no final do dia, eles são enviados para o Appium como objetos JSON.

10. Quais são as propriedades obrigatórias (pares chave-valor) em Desired Capabilities?

  1. nome do dispositivo - ID de identificação para o dispositivo móvel conectado.
  2. nome da plataforma – Sistema operacional para o dispositivo móvel.
  3. aplicativo - Caminho do aplicativo móvel a ser automatizado.

11. O que é o Appium Inspector?

Appium inspector é um utilitário pronto para uso fornecido pelo Appium Framework para carregar um aplicativo móvel e localizar qualquer elemento do aplicativo móvel.

12. O que são localizadores no Appium e dê alguns exemplos de localizadores?

Os elementos dos Aplicativos Móveis podem ser identificados por algumas propriedades. Embora existam algumas propriedades específicas para o aplicativo, há algumas que são mais padronizadas por natureza. Essas propriedades padrão às vezes são chamadas de localizadores.

A seguir estão os exemplos de localizadores:

  1. ID
  2. nome
  3. nome da classe
  4. ID de acessibilidade
  5. XPath

13. O que é XPATH e como pode ser usado para localizar elementos?

Em geral, o XPATH permite que os testadores naveguem pela estrutura XML de qualquer documento, e isso pode ser usado em documentos HTML e XML.

O XPATH possui uma sintaxe específica para atingir qualquer elemento. Este é um identificador baseado em String para qualquer elemento.

O Appium fornece uma função 'FindBy' onde uma string XPATH pode ser passada e o elemento é retornado.

14. Qual é a diferença entre FindElement e FindElements e como podemos verificar a disponibilidade de um elemento?

Find Element é usado para localizar um elemento específico em uma tela de interface do usuário do aplicativo e Find Elements pode ser usado para localizar vários elementos. Podemos usar funções findElements para verificar a disponibilidade de elementos.

Booleano iselementpresent = driver.findElementsByName(“App”).size() != 0

Também muito importante, findElement lançará uma exceção se nenhum elemento for encontrado onde findElements não lançará uma exceção e retornará uma matriz de elementos de tamanho 0.

15. O que são esperas explícitas e implícitas no Appium?

Existem momentos em que alguns elementos não carregam na tela do aplicativo na hora do teste. Situações como essas exigem um atraso ou espera por um teste específico no elemento em questão.

O Appium fornece o seguinte:

  • Espera implícita - Atraso adicionado por um tempo específico.
  • Espera explícita - Atraso adicionado para uma condição específica.

16. Usando o Appium, como podemos testar o elemento que não está visível em um momento de teste específico?

O Appium fornece condições explícitas de espera/esperadas para realizar esta tarefa.

Exemplo:

WebDriverWait espera = new WebDriverWait(driver,20); espere.até(ExpectedConditions.visibilityOfElementLocated(“”)

A segunda opção é usar findElements conforme explicado na pergunta anterior.

17. É possível executar a ação Swipe usando o Appium? Se sim, como?

Sim, é possível.

O Appium fornece a API TouchAction para executar a ação Swipe.

Exemplo: TouchAction minhaAção = novo driver TouchAction((MobileDriver)); Tamanho da dimensão = driver.manage().window().getSize(); int startY = (int) (tamanho.altura * 0.85); int endY = (int) (tamanho.largura * 0.05); int coordX = (int) (tamanho.largura * 0.50); minhaAção.press(coordX,startY).waitAction(3000).moveTo(coordX,endY).release().executar();

18. Liste alguns erros comuns ao criar testes do Appium.

  1. Uso irrestrito do caminho X – Sobre o uso de XPATH como localizadores.
  2. Uso negligenciado de IDs de acessibilidade: – A estratégia do localizador de ID de acessibilidade é formulada para ler um identificador exclusivo para um elemento de interface do usuário. Para iOS e Android, obter um elemento por seu ID de acessibilidade é o melhor método.
  3. Consulta para cada visibilidade de elemento – Consultar a visibilidade de cada elemento não é uma boa ideia, pois afeta o desempenho. Somente os elementos importantes e que podem não ter visibilidade devem ser consultados.

19. Liste algumas exceções comuns no Appium?

  1. SessionNotFoundException – Lançado quando Appium Connection é desconectado ou sessão não estabelecida.
  2. ElementNotFoundException – Lançado quando você tenta encontrar um elemento e o elemento não é encontrado.
  3. WebDriverException – Lançado quando o Driver não existe.

20. Como podemos depurar um Appium Test?

  1. O Appium fornece os logs do servidor, que fornecem algumas dicas sobre o erro.
  2. Os testes geralmente podem ser depurados usando o idioma/IDE subjacente.

Exemplo: a depuração remota Java pode ser usada para depurar os testes.

O Appium pode ser uma estrutura de automação de teste complexa e difícil de aprender e praticar. É por isso que fazemos tantas perguntas de entrevista do Appium aos funcionários em potencial. Este artigo destina-se a fornecer algumas respostas para as perguntas mais comuns sobre entrevistas no Appium. Esperamos que ajude você a encontrar e ter sucesso em sua próxima função.

Guy Arieli - CTO

Você está pronto para escalar sua empresa?

Explore

O que há de novo no mundo da Digital.ai

22 de abril de 2024

O preconceito na máquina: preconceitos de dados de treinamento e seu impacto no código gerado pelos assistentes de código de IA

Explore preconceitos nos dados de treinamento de IA que afetam a geração de código e aprenda estratégias para mitigá-los para um desenvolvimento de IA e inovação de software mais justos.

Saber Mais​
22 de fevereiro de 2024

Como o futurismo está moldando os testes em nuvem: uma previsão

Desbloqueie o futuro dos testes em nuvem: abordagens estratégicas para aproveitar a tecnologia de maneira eficaz, aprimorar a qualidade do software e garantir o sucesso dos negócios.

Saber Mais​
4 de dezembro de 2023

A busca pela qualidade: testes contínuos de software automatizados para a indústria automotiva

Desde a criação de testes com tecnologia de IA até sistemas de autocorreção, descubra como continuous testing e desenvolvimentos inovadores estão moldando o futuro das tecnologias conectadas, safee veículos confiáveis.

Saber Mais​