Última actualización 03 de mayo de 2020 — Continuous Testing Experto
Continuous Testing

 

En Experitest trabajamos mucho con Appium. Durante años hemos trabajado para ofrecer integración perfecta en Appium para permitir a los probadores crear la automatización de Appium en minutos bajo nuestro Continuous Testing PRODUCTO. Naturalmente, esto nos ha llevado a trabajar y contratar a muchos especialistas de Appium. En nuestras entrevistas con empleados potenciales, nos encontramos haciendo muchas de las mismas preguntas de entrevista sobre Appium y sus capacidades. Pensamos que sería una buena idea preparar una sesión de preguntas y respuestas sobre Appium donde podamos responder algunas de las preguntas más comunes de la entrevista de Appium por adelantado. Siga leyendo y obtenga una ventaja inicial cuando se entreviste para puestos relacionados con Appium.

Descarga Appium Studio gratis ahora

Entonces, sin más preámbulos, eche un vistazo a continuación a los más comunes:

Preguntas y respuestas de la entrevista de Appium

1. ¿Qué es Apio?

Appium es un marco de automatización de pruebas de código abierto. Usamos Appium para automatizar aplicaciones móviles en plataformas Android e iOS.

2. ¿Tipos de Aplicaciones Móviles y una breve descripción de cada una de ellas?

  1. aplicaciones nativas - Aplicación desarrollada para una plataforma específica.
  2. aplicaciones híbridas - Aplicaciones que tienen componentes nativos y web pero que se ejecutan como una aplicación.
  3. Aplicación web - Aplicaciones creadas para ejecutarse en navegadores (en este caso, navegadores móviles).

3. Requisitos previos para Appium.

  1. Instalación de Estudio Android para la automatización de Android y XCUI para la automatización de iOS.
  2. NodeJS
  3. Tiempos de ejecución de idioma correspondientes para clientes de Appium. Un ejemplo para Java Appium Client JDK/JRE es un requisito previo.

4. Explicar la arquitectura básica de Appium.

En el corazón de la herramienta Appium, sus componentes clave son,

  1. Appium Server: un servidor HTTP que escucha a los clientes basados ​​en Appium Http y utiliza su controlador UI Automator para traducir los comandos de automatización a un idioma que los dispositivos Android puedan entender.
  2. El marco de Appium expone los clientes de Appium para diferentes lenguajes como Java, Python. Los clientes de Appium enumeran todos los idiomas admitidos.
  3. Appium admite diferentes controladores para automatizar varias plataformas finales. El controlador UIAutomator2 se utiliza para admitir el sistema operativo Android.

5. Ventajas de Appium

  1. Multiplataforma
  2. Appium expone una sola API para automatizar aplicaciones móviles en diferentes plataformas.
  3. Appium admite muchos lenguajes diferentes con los que se pueden desarrollar pruebas de automatización. Las API siguen conceptos generales similares para la automatización.
  4. Appium se basa en el protocolo Web Driver de Selenium.
  5. Appium proporciona soporte de automatización integral para la automatización como el tiempo de ejecución de Appium Server, las bibliotecas de Appium Client para el desarrollo y el UI Inspector para encontrar la ubicación de los elementos de la UI.

6. ¿Diferencia entre Selenium y Appium?

Selenium es una herramienta de código abierto que permite la automatización de aplicaciones web que se ejecutan en navegadores. Appium se utiliza para automatizar aplicaciones móviles y aplicaciones web que se ejecutan en dispositivos móviles.

7. ¿Desventajas de Appium?

  1. Los comandos generalmente se traducen al dispositivo real que afecta el rendimiento.
  2. No hay soporte disponible para pruebas en dispositivos Android anteriores a la versión 4.2.

8. Pasos básicos para escribir el Appium Test.

  1. Decida el lenguaje de programación que admite la biblioteca Appium Client.
  2. Decidir sobre el marco de prueba del lenguaje de desarrollo subyacente. Ejemplo: TestNG para lenguaje Java.
  3. Importar la biblioteca de Appium Client
  4. Inicialice el controlador y pase las capacidades deseadas (propiedades de la sesión)
  5. Localice los elementos de la interfaz de usuario en la aplicación móvil. Utilice Appium Inspector para obtener la ubicación de antemano.
  6. Ejecute el comando de automatización en el Elemento.
  7. Salga del controlador inicializado.

9. ¿Cuáles son las capacidades deseadas?

Las capacidades deseadas son claves y valores codificados en un objeto JSON, enviados por los clientes de Appium al servidor cuando se solicita una nueva sesión de automatización. Les dicen a los controladores de Appium todo tipo de cosas importantes sobre cómo desea que funcione su prueba.

Cada cliente de Appium crea capacidades de una manera específica para el idioma del cliente, pero al final del día, se envían a Appium como objetos JSON.

10. ¿Cuáles son las propiedades obligatorias (pares clave-valor) en las capacidades deseadas?

  1. nombre del dispositivo - ID de identificación del dispositivo móvil conectado.
  2. nombre de la plataforma – Sistema Operativo para el dispositivo Móvil.
  3. aplicación Ruta de la aplicación móvil a automatizar.

11. ¿Qué es Appium Inspector?

Appium inspector es una utilidad lista para usar proporcionada por Appium Framework para cargar una aplicación móvil y ubicar cualquier elemento de la aplicación móvil.

12. ¿Qué son los localizadores en Appium y dar algunos ejemplos de localizadores?

Los elementos de las Aplicaciones Móviles se pueden identificar por algunas propiedades. Aunque hay algunas propiedades específicas para la aplicación, hay algunas que son de naturaleza más estándar. Estas propiedades estándar a veces se denominan localizadores.

Los siguientes son ejemplos de localizadores:

  1. ID
  2. nombre
  3. nombre de la clase
  4. ID de accesibilidad
  5. XPath

13. ¿Qué es XPATH y cómo se puede utilizar para localizar elementos?

En general, XPATH permite a los evaluadores navegar a través de la estructura XML de cualquier documento, y esto se puede usar tanto en documentos HTML como XML.

XPATH tiene una sintaxis específica para llegar a cualquier elemento. Este es un identificador basado en cadenas para cualquier elemento.

Appium proporciona una función 'FindBy' donde se puede pasar una cadena XPATH y se devuelve el elemento.

14. ¿Cuál es la diferencia entre FindElement y FindElements y cómo podemos comprobar la disponibilidad de un elemento?

Buscar elemento se usa para ubicar un elemento específico en la pantalla de la interfaz de usuario de una aplicación y Buscar elementos se puede usar para ubicar varios elementos. Podemos usar las funciones findElements para comprobar la disponibilidad de los elementos.

Booleano iselementpresent = controlador.findElementsByName(“Aplicación”).tamaño() != 0

También muy importante, findElement arrojará una excepción si no se encuentran elementos donde findElements no arrojará una excepción y devolverá una matriz de elementos de tamaño 0.

15. ¿Qué son las esperas explícitas e implícitas en Appium?

Hay momentos en que algunos elementos no se cargan en la pantalla de la aplicación en el momento de la prueba. Situaciones como estas requieren un retraso o esperar una prueba específica sobre el elemento en cuestión.

Appium proporciona lo siguiente:

  • Espera implícita - Retraso agregado para un tiempo específico.
  • Espera explícita - Retraso agregado para una condición específica.

16. Usando Appium, ¿cómo podemos probar el elemento que no está visible en un momento de prueba específico?

Appium proporciona condiciones de espera/esperadas explícitas para realizar esta tarea.

Ejemplo:

WebDriverWait espera = nuevo WebDriverWait(controlador,20); esperar.hasta(CondicionesEsperadas.visibilidadDeElementoLocated(“”)

La segunda opción es usar findElements como se explica en la pregunta anterior.

17. ¿Es posible realizar la acción de Deslizar usando Appium? Si es así, ¿cómo?

Sí, es posible.

Appium proporciona la API TouchAction para realizar la acción Swipe.

Ejemplo: TouchAction myAction = nuevo TouchAction((MobileDriver)driver); Tamaño de la dimensión = driver.manage().window().getSize(); int startY = (int) (tamaño.altura * 0.85); int endY = (int) (tamaño.ancho * 0.05); int coordX = (int) (tamaño.ancho * 0.50); myAction.press(coordX,startY).waitAction(3000).moveTo(coordX,endY).release().llevar a cabo();

18. Enumere algunos errores comunes al crear Appium Tests.

  1. Uso de la ruta X sin restricciones: Uso excesivo de XPATH como localizadores.
  2. Uso descuidado de ID de accesibilidad: – La estrategia del localizador de ID de accesibilidad está formulada para leer un identificador único para un elemento de la interfaz de usuario. Tanto para iOS como para Android, obtener un elemento por su ID de accesibilidad es el mejor método.
  3. Consulta por la visibilidad de cada elemento – Consultar la visibilidad de cada elemento no es una buena idea, ya que afecta el rendimiento. Solo se deben consultar los elementos importantes y los que pueden no tener visibilidad.

19. ¿Enumere algunas excepciones comunes en Appium?

  1. Excepción de sesión no encontrada – Se lanza cuando se desconecta Appium Connection o no se establece la sesión.
  2. Excepción ElementNotFound – Lanzado cuando intenta encontrar un elemento y luego el elemento no se encuentra.
  3. Excepción de controlador web – Lanzado cuando el controlador no existe.

20. ¿Cómo podemos depurar una prueba de Appium?

  1. Appium proporciona los registros del servidor, lo que da algunas pistas sobre el error.
  2. Las pruebas generalmente se pueden depurar utilizando el lenguaje/IDE subyacente.

Ejemplo: la depuración remota de Java se puede utilizar para depurar las pruebas.

Appium puede ser un marco de automatización de pruebas complejo y difícil de aprender y practicar. Es por eso que hacemos tantas preguntas de entrevista a los empleados potenciales de Appium. Este artículo está destinado a darle algunas respuestas a las preguntas más comunes de la entrevista de Appium. Esperamos que le ayude a encontrar y tener éxito en su próximo puesto.

chico arieliCTO

¿Estás listo para escalar tu empresa?

Explorar

¿Qué hay de nuevo en el mundo de Digital.ai

Abril 22, 2024

El sesgo en la máquina: sesgos en los datos de entrenamiento y su impacto en el código generado por los asistentes de código de IA

Explore los sesgos en los datos de entrenamiento de IA que afectan la generación de código y aprenda estrategias para mitigarlos para lograr un desarrollo de IA y una innovación de software más justos.

Más Información
Febrero 22, 2024

Cómo el futurismo está dando forma a las pruebas en la nube: un pronóstico

Libere el futuro de las pruebas en la nube: enfoques estratégicos para aprovechar la tecnología de manera efectiva, mejorar la calidad del software y garantizar el éxito empresarial.

Más Información
4 de diciembre de 2023

El impulso hacia la calidad: pruebas continuas de software automatizadas para la industria automotriz

Desde la creación de pruebas impulsadas por IA hasta sistemas de autorreparación, descubra cómo continuous testing y los desarrollos innovadores están dando forma al futuro de la conectividad, safey vehículos confiables.

Más Información